首页 > 解决方案 > bundle install 认为它使用的是我没有的 ruby​​ 版本

问题描述

尝试进行捆绑安装,但出现以下错误:

Your Ruby version is 2.6.3, but your Gemfile specified 2.2.7

问题是我没有安装 ruby​​ 2.6.3 (OS Catalina)

使用 rvm list 我得到:

code
➜  cooper git:(id_43310_add_pr_comments_notification) ✗ rvm list
=> ruby-2.2.7 [ x86_64 ]
 * ruby-2.3.8 [ x86_64 ]
   ruby-2.6.5 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

➜  ✗ rvm uninstall 2.6.3
ruby-2.6.3 - #already gone
➜  ✗ rvm remove 2.6.3
ruby-2.6.3 - #already gone
Using /Users/noammansur/.rvm/gems/ruby-2.3.8
which ruby
/Users/noammansur/.rvm/rubies/ruby-2.2.7/bin/ruby
echo $path
/Users/noammansur/.rvm/gems/ruby-2.2.7/bin /Users/noammansur/.rvm/gems/ruby-2.2.7@global/bin /Users/noammansur/.rvm/rubies/ruby-2.2.7/bin /Users/noammansur/.rvm/bin /Users/noammansur/.nvm/versions/node/v8.11.4/bin /usr/local/bin /usr/bin /bin /usr/sbin /sbin /usr/local/opt/mysql@5.7/bin
ruby -v
ruby 2.2.7p470 (2017-03-28 revision 58194) [x86_64-darwin19]

但这无济于事。有什么建议么?

标签: ruby-on-railsrubybundlervmbundler

解决方案


Ruby 2.6.3 预装在 MacOS Catalina 中,因此您的问题应该来自损坏的 rvm 安装或 PATH。从检查ruby -v和开始which ruby

当 rvm 工作时,你会得到类似的东西:

$ which ruby
/Users/<username>/.rvm/rubies/ruby-2.6.1/bin/ruby

$ echo $PATH
/Users/<username>/.rvm/gems/ruby-2.6.1/bin:
/Users/<username>/.rvm/gems/ruby-2.6.1@global/bin:
/Users/<username>/.rvm/rubies/ruby-2.6.1/bin:
/Users/<username>/.rvm/bin:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin

在其他情况下:

$ rvm use system
Now using system ruby.

$ which ruby
/usr/bin/ruby

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/<username>/.rvm/bin

检查您(或其他人)是否修改了您的配置文件脚本(.profile、.bashrc、zshrc 等,取决于您的 shell 和设置)并覆盖 PATH,还在那里寻找 rvm init 的存在:

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

推荐阅读