更改捆绑安装Ruby版本

时间:2011-12-13 00:36:59

标签: ruby-on-rails ruby

我是Ruby / Rails的新手,请原谅我,如果这是一个微不足道的问题。每当我运行bundle install时,它会安装vendor / bundle / ruby​​ / 1.8中的所有内容,而不是vendor / bundle / ruby​​ / 1.9.1,这是我正在使用的Ruby版本。当我运行ruby -v时,我得到了正确的1.9.1版本,但由于某些原因,bundle install坚持1.8,这导致许多基本Rails功能的错误。

如何指示bundle使用1.9.1(最好删除Ruby 1.8的任何痕迹)?

谢谢!

编辑:我做了所有事情this回答说,我没有得到1.8的痕迹

再次编辑:嗯,它正在以某种方式工作。也许重启Bash修复了它。在任何情况下,是否存在强制bundle install使用特定版本的Ruby的一般解决方案,以免再次发生或者发生在其他人身上?

2 个答案:

答案 0 :(得分:5)

对我来说,问题似乎是我不小心配置了厨师用系统ruby gem版本安装bundler,它将bundler放在系统路径中:

/usr/local/bin/bundle

使用此捆绑版本 /usr/bin/gem(如上面的评论中所述)迫使版本1.8

我真的希望它安装在我的用户的.rbenv垫片位置。

要解决此问题,我以root身份登录时卸载了bundler,并将其从/usr/local/bin中删除。

我已经为用户安装了我所需的ruby版本的gem with bundler,所以现在当我打电话给which bundle时,我看到了:

/[user_home]/.rbenv/shims/bundle

现在当我运行bundle install时,捆绑包与当前的ruby版本相关联。

答案 1 :(得分:4)

Bundle适用于宝石。检查 gem 命令是否也使用正确的版本ruby:在Ubuntu Linux上我必须将 / usr / bin / gem 符号链接到 / usr / bin / gem1 .9.1

(/usr/bin/gem1.8和/usr/bin/gem1.9.1之间的唯一区别是定义要使用的ruby版本的第一行:#!/usr/bin/ruby1.9.1