我已阅读并尝试了建议的几个,其他的,问题,像我这样的(所有公认的答案),以及几个小时的谷歌搜索,但毫无效果.这让我觉得我的问题在我的计算机上有一块Ruby/RBENV生态系统是腐败的,或者可能是一个可怕的PATH问题.我总是sudo
要安装任何宝石,这是我以前从未做过的,所以这也令人费解.
以下是我认为相关的文件和命令的一些输出.如果您需要更多信息,请告诉我们:
.zshrc
export PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin" if which rbenv > /dev/null; then eval "$(rbenv init - zsh)"; fi
红宝石-v
ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0]
rbenv本地
2.1.1
Gemfile(我也曾多次吹灭我的gemfile.lock)
source 'https://rubygems.org' ruby '2.1.1' gem 'rails', '4.1.4' ... [omitted for brevity]
.ruby版本
2.1.1
echo $ PATH
/[user path]/.rbenv/shims:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
如果有人对我接下来应该尝试什么有任何想法,我将不胜感激,而不是重新格式化我的电脑.
编辑1:尝试选项B根据Ben Kreeger从下面的git repos安装它们.type rbenv
正确返回rbenv是一个shell函数,原始消息不断出现.我重新安装了Mavericks,我的设置仍然无法正常工作.
编辑2:每当我尝试安装gem时,我都会Gem::FilePermissionError
说我无法访问Ruby 2.0.0文件夹(作为系统安装).要更多地使用RBENV ......
编辑3:更多调试(以下所有内容)
使用RBENV安装Ruby版本时发生错误并发现有些人提到readline
问题.
尝试以下步骤来修复readline:https://github.com/sstephenson/ruby-build/issues/550#issuecomment-40681557,并得到一个错误,我的Xcode命令行工具安装不好.
然后xcode-select --install
重新安装它们.
试了rbenv install 2.1.1
一遍,并得到了The Ruby openssl extension was not compiled. Missing the OpenSSL lib?
根据https://coderwall.com/p/n9bnug,我将我的OpenSSL扩展与https://coderwall.com/p/n9bnug
重置Ruby的版本:rbenv local 2.1.1
rbenv global 2.1.1
和rbenv rehash
一切似乎表明bundler正在尝试使用我的system
Ruby安装(2.0.0-p247)而不是RBENV指定的内容.感到困惑的是缺失的环节.
哇,只是哇.
我所要做的就是gem install bundler
然后rbenv rehash
.一切正常.
原始的错误消息向我指出了RBENV或我的Ruby版本的问题,而实际上它只是落在旧版本的bundler上.
为什么我不会收到更标准的this needs bundler version [xxxx]...
错误而不是告诉我我的Ruby版本指定不正确?