您的 Ruby 版本是 2.5.0,但您的 Gemfile 指定了 2.5.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/自制软件 - 一套用于 .asdf

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

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

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

你可以使用asdf,设置它以便它读取.ruby-version(见 https://github.com/asdf-vm/asdf-ruby#ruby-version-file(,并删除所有其他 - 另外,确保将依赖项捆绑在每个项目中,否则你会得到一个非常混乱的全局。

为了帮助过渡,请为旧版本管理器设置一个 shell 别名(例如在 bash 中,将alias rbenv="echo 'Use ASDF instead'"添加到 shell init 文件中 - 根据需要排列"旧版本管理器"和"新版本管理器"名称(

最新更新