2016-01-08 190 views
1

这个问题可能对任何在Linux上使用Ruby很长时间的人都有明显的答案,但我无法通过Google真正获得好答案。在Ubuntu上安装Ruby 2.2.3

我试图检查Rails 5测试版,它需要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吗?是什么赋予了?

回答

2

由于您使用bundle,我建议您检查您的Gemfile的红宝石版本。你也可以用bundle exec ruby -v

测试它也可以尝试:

rvm use ruby-2.2.3 
bundle exec ruby -v 
+0

它仍然是2.1.5 – NmdMystery

+0

你在'Gemfile'中有'ruby 2.1.5'指令吗? –

+0

其实,这里发生了什么 - 我尝试使用rbenv,现在ruby -v显示我正在使用2.2.3。我把这个指令放在Gemfile中,现在运行bundle update说我有2.1.5。这可能是因为该项目使用ruby 2.1.5进行初始化,但我不知道如何解决这个问题。 – NmdMystery

1

也许通过rvm默认的Ruby版本设置为一个你(红宝石2.2.3)解决了这个问题,通过做rvm --default use ruby-2.2.3。然后重新加载bash并执行ruby -v以检查Ruby的默认版本是否已正确更改,然后再次尝试执行bundle install命令。

如果你不知道zshoh-my-zsh,我强烈建议这样的事情。您可以配置终端,以便向您展示您每时每刻都在使用的Ruby和Rails的当前版本。在这里检查:http://ohmyz.sh/

0

除了做rvm use --default 2.2.3rvm use 2.2.3请确保你还没有从apt(或任何包管理器)仍然安装的ruby包。出于某种原因,该ruby包可能优先于RVM Ruby。

此外,请尝试执行rvm uninstall 2.1.5以强制您的系统默认为2.2.3 ...您可以随时重新安装2.1.5,如果此问题持续存在,则应将2.2.3作为默认设置。