Rbenv使用的版本不正确

时间:2018-12-19 10:36:23

标签: ruby-on-rails ruby rvm bundler rbenv

在我的rails项目中,当我尝试运行bundle install时,出现以下错误:

Your Ruby version is 2.3.7, but your Gemfile specified 2.5.3

但是,当我运行ruby --version时,我得到了:

ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin18]

...运行rbenv version会给我:

2.5.3 (set by /Users/jamesmulholland/proj/repo-name/.ruby-version)

这是为什么要在此处使用错误版本的Ruby,以及如何解决?


其他上下文和失败的修复程序

  • 运行rbenv versions给出: system 2.5.3 (set by /Users/jamesmulholland/proj/repo-name/.ruby-version)`

  • 从Ruby 2.5.1迁移到Ruby 2.5.3时发生了此问题。同时,我从rvm转到rbenv。我怀疑我运行rm -rf ~/.rvm而不是rvm implode时可能错误地卸载了rvm,但是/etc/rbenv/为空并且运行rvm命令失败。 rvm已从我的.zshrc中删除。当使用这种方法卸载rvm后继续遇到此问题时,我重新安装了rvm,并使用rvm implode进程进行了卸载,以防万一还有其他rvm痕迹引起问题。这也无法解决问题。

  • 我完全删除了目录,并从GitHub中提取了一个新副本。没有成功。
  • 签出旧提交不能解决该错误(我得到Your Ruby version is 2.3.7, but your Gemfile specified 2.5.1了)
  • 该应用程序在同事的计算机上运行良好。
  • .zshrc的潜在相关部分(已将rvm等效项注释掉): export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)"
  • .ruby-version是2.5.3
  • Gemfile包含: source 'https://rubygems.org' ruby "2.5.3"

1 个答案:

答案 0 :(得分:3)

尝试一下。

在rails项目文件夹中,检查.ruby-version文件是否存在,并将其放入Gemfile中指定的相同红宝石版本中。 (如果此文件不存在,请创建它。)

〜/ your-rails-project / .ruby-version 文件:

2.5.3

〜/ your-rails-project / Gemfile 文件:

source 'https://rubygems.org'
ruby '2.5.3'
...

然后使用rbenv安装该版本:

$ rbenv install 2.5.3
$ rbenv rehash
$ rbenv local 2.5.3
$ rbenv global 2.5.3

现在通过以下方法检查您使用的版本是否正确:

$ ruby -v