[英]“bundle install” for Ruby 1.8.7 on Ubuntu Raring Ringtail 13.04
我不是红宝石主义者,可能有明显的失踪之处。
我已经用Ruby 1.8.7编写了一个应用程序,试图将其打包到Vagrant中(运行Raring 13.04),但是我必须运行“捆绑安装”来安装要求,即使gem1.8确实存在,运行bundle install
仍会为Ruby 1.9.3安装gems。 然后我的程序在运行时失败了...
关于如何解决这个问题的任何想法?
更新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似乎正确安装了东西,但是需求似乎失败了...路径问题?
请参阅此处以了解有关Vagrant / RVM设置的详细信息: https : //rvm.io/integration/vagrant
更新3
问题解决了,我错过了:
require 'rubygems'
先于所有宝石(它在本地有效,但在Vagrant中无效)。
Bundler将为PATH
Ruby安装gems(默认情况下)。
尝试使用/usr/bin/env ruby -v
或which ruby
找出哪个是; 我的猜测是您正在使用Ruby 1.8运行捆绑程序。
新增中
ruby '1.8.7'
在您的Gemfile上将有助于诊断。
通常不知道此问题,但尝试将ruby-version放在gemfile的顶部:
#Gemfile
ruby '1.8.7'
# followed by your gems
这很可能是因为您的Gemfile.lock状态为ruby 1.9.3-运行bundle update
尝试运行gem uninstall bundler
,然后运行gem1.8 install bundler
。
您的bundle
命令似乎在Ruby 1.9.3下运行。 您可以通过head -n 1 $(which bundle)
验证使用哪个ruby可执行文件捆绑程序。 您希望它是ruby1.8。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.