1

バックグラウンド

ローカルマシンで、gemfileを介して「bullet」gemをインストールしようとしましたが、問題bundleなく実行されたようですが、アプリを再起動すると、乗客がエラーをスローし始めましたInvalid gemspec for uniform_notifier。他の誰かがこの問題を抱えていたようで、StackOverflowで提案された解決策は、以下を実行してRubyGemsを更新すると述べています。

問題

gem update --system

これにより、実行時にエラーメッセージは生成されませんでしたが、現在はどのアプリも起動しません。それらはすべて同じ漠然とした乗客エラーを出します:

PhusionPassenger::UnknownError
There was an error in your Gemfile, and Bundler cannot continue. (Bundler::GemfileError)

gemfileから「bullet」を削除したので、昨日は機能していた状態に戻ったので、gemfileにエラーが発生する可能性はないと思います。さらに、他のすべてのアプリが壊れており、それらのgemfileはまったく変更されていません。

参考のために:

ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.5.0]
rails -v
Rails 3.2.6
rvm --version
rvm 1.1.4 by Wayne E. Seguin

またgem list、グローバルおよびローカルのgemsetに対して実行すると、bundler1.1.0がインストールされていることが示さます。

編集:実行rails sするとWEBrickサーバーが正常に起動し、localhost:3000でアプリにアクセスできるため、このエラーが発生するのはPassengerの下でのみです。

4

3 に答える 3

0

Gemfile.lockをコミットしましたか?

于 2012-11-19T18:12:33.653 に答える
0

rubygemsをロールバックすることでこれを修正できました-実行して以前にインストールされたバージョンに更新します

gem update --system 1.8.11

その時点で、すべてのアプリが再び機能し始めました。問題が何であったかはまだわかりません。受け入れられた回答を自分のものから、rubygems-updateを更新すると乗客の統合が壊れる理由についてより多くの洞察を提供できる人に喜んで切り替えます。

于 2012-11-20T15:27:34.327 に答える
0

Phusion Passengerの誰かが決定的な答えを出してくれることを願っていますが、私も同じことを経験したと言いたかっただけです。rubygemsを更新すると、passenger-nginxの統合が壊れ、passenger-nginxモジュールを再コンパイルする必要があります。なぜそうなるのかわからない。私の推測では、モジュールは特定のバージョンのrubygemsへのハードリファレンスを使用して何らかの形でコンパイルされています。

于 2016-10-19T21:00:28.103 に答える