如何使用Bundler与路径指定的Ruby版本

时间:2012-07-10 01:12:17

标签: ruby bundler

我正在使用系统Ruby版本1.9.3p0的VM(Lucid 64b)。

我有一个创建.deb文件的Ruby脚本 - 脚本需要使用我在/foo/ruby/1.8.7中安装的Ruby 1.8.7。 Bundler使用现有Gemfile 我不能使用RVM,我无法在系统级安装宝石。

我的.bashrc包括(并且已被采购)

export PATH=$PATH:/foo/ruby/1.8.7/bin 

但是ruby -v仍然给了我

ruby 1.9.3p0 (2011-10-30) [x86_64-linux]

问题

  • 如何为用户更改Ruby版本以使用Ruby 1.8.7?

    我跑了:bundle install --path vendor/bundle

    所以在那个目录中(实际上./vendor/bundle/ruby/1.8/cache/gems)是我需要的所有宝石,但是,当我运行Ruby脚本时,它找不到所需的宝石。我像/foo/ruby/1.8.7 script_to_gen_deb_file.rb

  • 那样运行脚本
  • 如何让红宝石看到/使用捆绑的宝石?

更新

我能够解决它。我需要使用

/foo/ruby1.8.7/bundle exec /foo/ruby1.8.7/ruby script_to_gen_deb_file.rb

之前我曾试过这个,但我得到了一个无关的错误,并认为存在环境问题。

1 个答案:

答案 0 :(得分:2)

更改路径以使特殊ruby优先?

export PATH=/foo/ruby/1.8.7/bin:$PATH