您的Ruby版本是2.5.0,但是您的Gemfile指定了2.5.1

时间:2018-07-04 15:16:13

标签: ruby homebrew rbenv asdf-vm

我不断收到此错误 Your Ruby version is 2.5.0, but your Gemfile specified 2.5.1

我使用rbenv和homebrew。我还意识到我可以使用.asdf。

基于其他Stackoverflow,我尝试过:

2.5.0 % rbenv local 2.5.1 rbenv: version `2.5.1' not installed 2.5.0 % ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin16]

当我运行此命令时,得到以下信息: 2.5.0 .rbenv % gem env home /Users/annxxxx/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0

更新:

因此与Homebrew相关的所有命令均无法正常运行,因为似乎我的系统似乎正在使用.asdf指向.asdf文件(此版本的ruby为2.5.0)中的ruby

我将.asdf更新为现在使用2.5.1(现在可以正常工作-但我的机器现在具有2.5.1的多个副本)

我的结论是,我的机器上有多个红宝石副本。  -一套rbenv / homebrew  -一组.asdf

问题: 1-我应该同时拥有这两个吗? 2-我想删除.asdf吗? a-我该怎么做? b-一旦这样做,我应该怎么做才能使rbenv / homebrew工作?

1 个答案:

答案 0 :(得分:1)

如果使用多个版本管理器,则最终将拥有所有版本的多个版本。 asdf安装在~/.asdf/installs/ruby/*中,chruby~/.rubies读取(其中ruby-install安装),RVM安装在{{1}中的~/.rvm/rubiesrbenv~/.rbenv/versions中的rbfu

您需要确定一个版本管理器并对其进行配置,以便它接受您项目的配置。

您可能会选择~/.rbfu/rubies,将其设置为读取asdf(请参阅https://github.com/asdf-vm/asdf-ruby#ruby-version-file),然后删除所有其他内容-同样,请确保将依赖项捆绑在每个内部项目,否则您将获得一个非常混乱的全局。

为帮助过渡,请为旧版本管理器设置外壳程序别名(例如,在bash中,将.ruby-version添加到外壳程序初始化文件中-排列“旧版本管理器”和“新版本管理器” “根据需要命名)