我不是红宝石学家,可能有一些明显的东西我遗漏了。
我在 Ruby 1.8.7 中编写了一个应用程序,我正在尝试将它打包在 Vagrant 中(运行 Raring 13.04),但我必须运行“捆绑安装”来安装要求,即使 gem1.8 确实存在,运行bundle install
仍然安装 Ruby 1.9.3 的 gem。然后我的程序在运行时失败......
关于如何解决这个问题的任何想法?
更新 1
相关的 Gemfile(感谢第一个回答者):
ruby '1.8.7'
# ...
gem 'trollop'
但是ruby1.8 myfile.rb
引发了错误
no such file to load -- trollop (LoadError)
经过调查,问题出在bundle install
:
Your Ruby version is 1.9.3, but your Gemfile specified 1.8.7
我不明白如何解决这个问题。
更新 2
在遵循@klaffenboeck 的建议后,情况发生了变化。我正在使用 RVM 并在进入项目文件夹时使用 Ruby 1.8.7。Bundler 似乎可以正确安装东西,但是 require 似乎失败了……路径问题?
有关 Vagrant / RVM 设置的详细信息,请参见此处:https ://rvm.io/integration/vagrant
更新 3
问题解决了,我错过了一个:
require 'rubygems'
在所有宝石之前(它在本地工作,但不在 Vagrant 中)。