小编典典

您的Ruby版本是2.0.0,但您的Gemfile指定了2.1.1

linux

我已阅读并尝试了建议的几个,其他的,问题,像我这样的(所有公认的答案),以及几个小时的谷歌搜索,但毫无效果。这使我认为我的问题是计算机上的某个Ruby/RBENV生态系统损坏了,或者是一个可怕的PATH问题。我总是必须sudo安装任何从未安装过的gem,这也令人困惑。

这是我认为相关的文件和命令的一些输出。如果您需要更多信息,请告诉我:

.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

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

回声$ PATH

/[user path]/.rbenv/shims:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

如果有人对我接下来应该尝试的内容有任何想法,而又没有重新格式化计算机,我将不胜感激。

编辑1: 根据Ben Kreeger,尝试从下面的git仓库安装两个选项。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.1rbenv rehash

一切似乎都表明捆绑程序正在尝试使用我的systemRuby安装(2.0.0-p247),而不是RBENV指定的内容。困惑的地方是丢失的链接。


阅读 307

收藏
2020-06-07

共1个答案

小编典典

哇,只是哇。

我要做的只是gem install bundler然后rbenv rehash。一切正常。

最初的错误消息使我发现RBENV或我的Ruby版本存在问题,而实际上它只是依靠旧版本的捆绑程序而已。

为什么我不会收到更多标准this needs bundler version [xxxx]...错误,而不是告诉我我的Ruby版本指定不正确?

2020-06-07