我不断收到此错误
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工作?
答案 0 :(得分:1)
如果使用多个版本管理器,则最终将拥有所有版本的多个版本。 asdf
安装在~/.asdf/installs/ruby/*
中,chruby
从~/.rubies
读取(其中ruby-install
安装),RVM
安装在{{1}中的~/.rvm/rubies
,rbenv
和~/.rbenv/versions
中的rbfu
。
您需要确定一个版本管理器并对其进行配置,以便它接受您项目的配置。
您可能会选择~/.rbfu/rubies
,将其设置为读取asdf
(请参阅https://github.com/asdf-vm/asdf-ruby#ruby-version-file),然后删除所有其他内容-同样,请确保将依赖项捆绑在每个内部项目,否则您将获得一个非常混乱的全局。
为帮助过渡,请为旧版本管理器设置外壳程序别名(例如,在bash中,将.ruby-version
添加到外壳程序初始化文件中-排列“旧版本管理器”和“新版本管理器” “根据需要命名)