4

背景:私はこの質問とこの質問をきましたが、残念ながら役に立ちませんでした。

エラーメッセージ(乗客):すでにラック1.1.0をアクティブ化していますが、Gemfileにはラック1.2.1が必要です。bundleexecの使用を検討してください。

私のGemfile:

source 'http://rubygems.org'

gem 'rails', '3.0.0.rc'
gem 'nifty-generators' 
gem 'nokogiri'
group :after_initialize do
    gem 'feedzirra'
end

私のGemfile.lockには次の行があります:

rack (1.2.1)

私のenvironment.rbの上部には次の行があります。

ENV['GEM_PATH'] = File.expand_path('~/.gems') + ':/usr/lib/ruby/gems/1.8'

私のboot.rbの上部には次の行があります。

Gem.clear_paths

ラック(1.2.1)をローカルに正しくインストールしています-アプリはローカルホストで正常に実行され、バージョン1.2.1はターミナルの「gemリスト」の後に表示されます。

アプリを本番サーバーにプッシュする前に、gemを「バンドルパッケージ」でパッケージ化しました。

デプロイする前に、次のコマンドを(本番サーバーで、アプリのルートから)実行しました。

bundle install --path vendor/bundle --local

上記のインストールコマンドに続いて、「バンドルチェック」はこれを返します。

The Gemfile's dependencies are satisfied

そして、これは乗客によって提供されたバックトレースです(上記のエラーメッセージとともに):

0   /home/user/.gems/gems/bundler-1.0.0/lib/bundler/runtime.rb      27      in `setup'
1   /home/user/.gems/gems/bundler-1.0.0/lib/bundler/spec_set.rb     12  in `each'
2   /home/user/.gems/gems/bundler-1.0.0/lib/bundler/spec_set.rb     12  in `each'
3   /home/user/.gems/gems/bundler-1.0.0/lib/bundler/runtime.rb  17  in `setup'
4   /home/user/.gems/gems/bundler-1.0.0/lib/bundler.rb  100     in `setup'
5   /home/user/gseeds.mywebsite.com/releases/20100927012812/config/boot.rb  9   
6   /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `gem_original_require'
7   /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `require'
8   /home/user/gseeds.mywebsite.com/releases/20100927012812/config/application.rb   1   
9   /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `gem_original_require'
10  /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `require'
11  /home/user/gseeds.mywebsite.com/releases/20100927012812/config/environment.rb   7   
12  /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `gem_original_require'
13  /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `require'
14  config.ru   3   
15  /usr/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/builder.rb  46  in `instance_eval'
16  /usr/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/builder.rb  46  in `initialize'
17  config.ru   1   in `new'
18  config.ru   1 

誰かがこれに対する解決策を思いついたのだろうか?

注意すべき点は、サンプルのRailsアプリ(別名、Railsの新しいappNameを実行し、それをDreamHostの本番サーバーに直接FTPで転送する)が正常に実行されることです。私の実際のアプリとサンプルアプリの両方にラック(1.2.1)の依存関係があると想像しているので、これは私を混乱させます。これは、DreamHostサーバーのgemをバイパスするために、実際のアプリでのラックの実装をどういうわけかいじっていることを意味します。

サンプルのRailsアプリをDreamHostの別のサブドメインで実行しているときに、デプロイしようとしている両方の実際のアプリのサブドメインでこのエラーが発生します。

また、ベンダー/キャッシュアプ​​ローチを採用する前に、元々、DreamHostユーザーディレクトリにgemをローカルにインストールしようとしました。多分これは何にも影響しません。

この厄介な/長い質問を通して苦しんでくれてありがとう

4

1 に答える 1

2

Dreamhostに文句を言って、PhusionPassengerをアップグレードするように伝えます。この問題は、PhusionPassengerのいくつかのリリースで修正されました。

于 2010-09-27T17:09:47.050 に答える