Bundler使用不同版本的ruby

时间:2014-02-20 05:55:50

标签: ruby-on-rails ubuntu ubuntu-10.04

我在没有使用rvm的情况下安装了ruby。 ruby的路径和版本如下:

enter image description here

但是当我运行bundle install时,会发生致命错误。它似乎使用来自/usr/local/lib/ruby1.9.1而不是usr/local/bin/ruby的ruby版本ruby1.9.1。以下是快照:

enter image description here

如何使用ruby 1.9.3p0代替1.9.1进行bundle install?救命!

2 个答案:

答案 0 :(得分:0)

运行rvm use ruby 1.9.3

您必须在gemfile中指定ruby版本

ruby '1.9.3'

然后bundler会自动检测ruby版本

答案 1 :(得分:0)

它没有使用错误版本的ruby。它只是试图将gems安装到该目录。您遇到问题的真正原因是您的用户没有权限(您可以通过键入whereis ruby来确定)。即使使用sudo运行命令,你仍然会发现自己将来会遇到很多问题。 RVM从未发生过这些问题的原因是因为RVM会自动更改用户的gem环境变量。对于初学者,在您的控制台中键入gem env。这将为您提供有关rubygem搜索可执行文件和路径的非常重要的详细信息。

GEM PATH部分,我看到了:

  • GEM路径:
    • /Users/mike/.rvm/gems/ruby-1.9.3-p194
    • /Users/mike/.rvm/gems/ruby-1.9.3-p194@global

虽然看起来你的ruby安装正在查找/ usr / local / lib,它可能是写保护的。如果您不想安装RVM,那么真正的解决方法是在用户的根目录中创建一个目录来安装gems。按照this guide的第一步更改宝石路径。