对于长期在Linux上使用Ruby的人来说,这个问题可能有明显的答案,但我无法通过Google得到一个好的答案。
我正在尝试查看Rails 5 beta,它需要Ruby 2.2.2或更高版本。我已经安装了RVM(Ruby版本管理器)并将我的ruby版本设置为2.2.3。在终端中运行rvm list
会产生以下输出:
rvm rubies
=* ruby-2.2.3 [ x86_64 ]
# => - current
# =* - current && default
# * - default
好的,太好了。我安装了Ruby 2.2.3。我们试试bundle update
:
Installing rack 2.0.0.alpha (was 1.6.4)
Gem::InstallError: rack requires Ruby version >= 2.2.2.
好的,这很奇怪。我有什么版本的红宝石?正在运行ruby -v
给我这个:
ruby 2.1.5p273 (2014-11-13) [x86_64-linux-gnu]
那么......我有2.2.3吗?是什么给了什么?
答案 0 :(得分:2)
由于您使用的是bundle
,我建议您查看Gemfile
的ruby版本。您也可以使用bundle exec ruby -v
还可以尝试:
rvm use ruby-2.2.3
bundle exec ruby -v
答案 1 :(得分:1)
也许通过rvm
将rvm --default use ruby-2.2.3
上的默认Ruby版本设置为您拥有的版本(ruby-2.2.3)来解决问题。然后重新加载bash并执行ruby -v
以检查Ruby的默认版本是否已正确更改,然后再次尝试执行bundle install
命令。
如果您不了解zsh
和oh-my-zsh
,我强烈推荐这类事情。您可以配置终端,以便向您显示您每时每刻都在使用的Ruby和Rails的当前版本。请在此处查看:http://ohmyz.sh/
答案 2 :(得分:0)
除了执行rvm use --default 2.2.3
或rvm use 2.2.3
之外,请确保您还没有安装apt(或任何软件包管理器)的ruby软件包。出于某种原因,该ruby包可以优先于RVM Ruby。
另外,尝试执行rvm uninstall 2.1.5
强制系统默认为2.2.3 ...您可以随时重新安装2.1.5,如果此问题仍然存在,2.2.3应该作为默认值。< / p>