我在DreamHost上打開了一個專用的託管帳戶。我部署了一個軌道應用程序。我得到了以下錯誤。關於捆綁器路徑的困惑
You have already activated rack 1.2.1, but your Gemfile requires rack 1.3.6. Using bundle exec may solve this.
我檢查了版本。
$ gem list -d rack
rack (1.2.1, 1.1.0, 1.0.1, 1.0.0)
Author: Christian Neukirchen
Rubyforge: http://rubyforge.org/projects/rack
Homepage: http://rack.rubyforge.org
Installed at (1.2.1): /usr/lib/ruby/gems/1.8
(1.1.0): /usr/lib/ruby/gems/1.8
(1.0.1): /usr/lib/ruby/gems/1.8
(1.0.0): /usr/lib/ruby/gems/1.8
機架1.3.6不存在。但是當我用「捆綁秀」檢查它時,它已經安裝了。 (其實我沒有 「捆綁安裝--deployment」)
$ bundle show rack
/.../my_rails_app_root/vendor/bundle/ruby/1.8/gems/rack-1.3.6
而且我的config/setup_load_paths.rb
if ENV['MY_RUBY_HOME'] && ENV['MY_RUBY_HOME'].include?('rvm')
begin
rvm_path = File.dirname(File.dirname(ENV['MY_RUBY_HOME']))
rvm_lib_path = File.join(rvm_path, 'lib')
$LOAD_PATH.unshift rvm_lib_path
require 'rvm'
RVM.use_from_path! File.dirname(File.dirname(__FILE__))
rescue LoadError
# RVM is unavailable at this point.
raise "RVM ruby lib is currently unavailable."
end
end
ENV['BUNDLE_GEMFILE'] = File.expand_path('../Gemfile', File.dirname(__FILE__))
require 'bundler/setup'
其實我找到了解決辦法。只需「gem install rack -v 1.3.6」即可解決問題。
但爲什麼乘客拿起系統的機架寶石(或用戶的機架寶石),而不是捆綁的機架寶石?你如何避免這個問題?
謝謝。
山姆
我試過安裝Rack 1.3.6,那對我沒有用。它仍然在說它「已經啓動機架1.2.1」。 – mysmallidea 2012-02-25 19:37:33