[英]“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.