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
そして私は設定/ 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