我已阅读并尝试了several,other,questions,like mine(所有已接受的答案)以及几个小时的Google中的建议搜索,但没有任何效果。这让我觉得我的问题在我的计算机上有一块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
ruby -v
ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0]
rbenv local
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指定的内容。感到困惑的是缺失的环节。
答案 0 :(得分:60)
我所要做的就是gem install bundler
然后rbenv rehash
。一切正常。
原始错误消息向我指出了RBENV或我的Ruby版本的问题,而实际上它只是落在旧版本的bundler上。
为什么我没有收到更标准的this needs bundler version [xxxx]...
错误,而不是告诉我我的Ruby版本指定不正确?
答案 1 :(得分:1)
如果您不得不使用sudo
来安装宝石,那么您的rbenv安装可能会出现问题。我认为如果您使用OS X并且必须运行sudo
来安装宝石或软件包,那么您做错了(特别是如果您已经做错了)得到了homebrew
!你有两个选择 -
选项A :改变.zshrc
与您的$PATH
和您的rbenv设置更加友好。请注意,/usr/local/bin
只是$PATH
的前置,export PATH="/usr/local/bin:$PATH"
eval "$(rbenv init -)"
本身将由您的系统(Mavericks)设置为正确的默认值。让你发布的那两行看起来像这样:
echo $PATH
然后确保关闭所有shell并打开新shell以加载新设置。然后当你运行[home path]/.rbenv/shims:[home path]/.rbenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
时,它看起来应该类似于......
brew remove rbenv
选项B :由于我更熟悉通过git安装rbenv,您可以尝试通过.zshrc
对自制的rbenv安装进行核对,并按照{{3}进行操作(并且不要忘记the directions specified on rbenv's github page)。这包括删除type rbenv
中任何特定于rbenv的行并将其设置为install ruby-build as well。
您始终可以通过在命令提示符下运行"rbenv is a function"
来检查rbenv安装的完整性。如果一切顺利,您至少应该回到{{1}}。