1

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

我使用 rbenv 和自制软件。我也意识到我有 .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 文件中寻找 ruby​​(这个版本的 ruby​​ 是 2.5.0)指向使用 .asdf

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

我的结论是我的机器上有多个 ruby​​ 副本。- 一套用于 rbenv/homebrew - 一套用于 .asdf

问题:1-我应该同时拥有这两个吗?2-我更愿意删除 .asdf ?a- 我该怎么做?b-一旦我这样做了,我需要做什么才能让 rbenv/homebrew 工作?

4

1 回答 1

1

如果您使用多个版本管理器,您最终会拥有所有内容的多个版本。asdf安装在~/.asdf/installs/ruby/*,从(安装它们的位置)chruby 读取,安装在,在和中。~/.rubiesruby-installRVM~/.rvm/rubiesrbenv~/.rbenv/versionsrbfu~/.rbfu/rubies

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

您可以使用asdf,将其设置为读取.ruby-version(请参阅https://github.com/asdf-vm/asdf-ruby#ruby-version-file),然后删除所有其他内容 - 另外,请确保捆绑您的每个项目内部的依赖关系,否则你会得到一个非常混乱的全局。

为了帮助过渡,为你的旧版本管理器设置一个 shell 别名(例如在 bash 中,添加alias rbenv="echo 'Use ASDF instead'"到你的 shell 初始化文件——根据需要排列“旧版本管理器”和“新版本管理器”名称)

于 2018-07-24T12:20:53.887 回答