8

Rails3アプリをステージングする準備ができています。

VPSホストをまだ設定していません。最初の数か月はすべてを共有ホストに置くことを計画していたので。

問題:

cd myappバンドルチェック結果:

The Gemfile's dependencies are satisfied

乗客エラー:

Error message:
    no such file to load -- bundler
Exception class:
    LoadError

共有ホストについてイライラするのは、config.ruにこれらの行を追加する必要があることです。

ENV['GEM_HOME'] = '/home/username/.gems'
ENV['GEM_PATH'] = '$GEM_HOME:/usr/lib/ruby/gems/1.8'

まだ運がない。同じように、バンドラーエラーをロードするためのそのようなファイルは表示されません。

誰かがこれを機能させましたか?Rails 3、Debian、共有ホスト(dreamhost)?

先に進んでSlicehost/Fivebeanに登録することもできますが、登録する前に、そのエラーが表示される理由を知りたいと思います。

ありがとう。

4

6 に答える 6

9

解決策はここhttp://rvm.beginrescueend.com/integration/passenger/です。HTTPサーバーをbin/ rubyではなくpassenger_rubyラッパーにポイントする必要があります。

たとえば、RVMとApacheの場合、次のようになります。

PassengerRuby /Users/username/.rvm/bin/passenger_ruby
于 2010-04-29T16:33:11.463 に答える
4

Passengerは、ロードされるまでconfig.ruから環境変数を読み取りませ。あなたのバックトレースがなければ、私は前向きになることはできませんが、あなたが実行するだけですべてがうまくいくと思いますbundle lock。それでも問題が解決しない場合は、バンドラーのREADMEの下部にトラブルシューティング情報のリストがあり、何が起こっているのかを正確に知る必要があります。

于 2010-04-03T16:40:22.110 に答える
3

共有ホストでホストしているRailsはすでに地雷原ですが、Bundlerがrubygemsワークフローを再発明するなど、リリース前のすべての優れた点でRails 3を投入することは、髪の毛を抜くためのレシピです。

私はDreamhostでいくつかのRailsサイトをホストしていますが、それらが公式にサポートしているバージョンのみです。それ以外の場合は、時間の価値がありません。今すぐVPSをDreamhostとほぼ同じくらい安く手に入れることができ、自分の時間を何時間も節約できます。

簡単な答えを探しているなら、次のことに投票して指を交差させることをお勧めします。

DreamhostのRails3?

于 2010-04-03T07:29:46.270 に答える
2

私にとって、これは、passenger-install-nginx-moduleがインストールの最後に吐き出すpassenger_rubyディレクティブの問題であることがわかりました。ルビーへのパスにジェムセット名がありませんでした。

これは機能します:(修正)

passenger_ruby /Users/dzello/.rvm/wrappers/ruby-1.9.2-p0@rails3/ruby;

これはしませんでした:(passenger-install-nginx-moduleが吐き出すもの)

passenger_ruby /Users/dzello/.rvm/rubies/ruby-1.9.2-p0/bin/ruby

passenger_ruby行に適切なgemパスが含まれていないことに注意してください。@rails3(rails3はgemset名です)の部分は、passenger rootに対して正しく設定されていても、欠落しています。

于 2011-02-02T07:32:19.243 に答える
0

ランダムなブログを見つけました。'config.ru'にいくつかの行があり、それは私にとってはうまくいくようでした。

ENV['GEM_HOME'] = '/home/farleyknight/.gems'
ENV['GEM_PATH'] = '$GEM_HOME:/usr/lib/ruby/gems/1.8'
require 'rubygems'
Gem.clear_paths

多分それはあなたのために働くでしょう..

于 2010-04-27T22:08:21.400 に答える
0

vpsとrvm、rails3、capistrano、nginxでこの問題が発生しました。

Passengerはrootによってインストールされましたが、Webサイトはユーザーfoxによってインストールされました。Nginx(root)は、アプリをfoxとして実行するように構成されました。foxとしてログインすると、Bundlerがインストールされましたが、rootとしてgemlistbundleを実行してもgemが表示されませんでした。

乗客のスタートは、エラーバンドラーが欠落していることを示します。これを解決する唯一の方法は、bundlerをrootANDfoxとしてインストールすることでした。nginxで構成されているユーザーfoxの下にいないときに、乗客がバンドラーをチェックしていると思います。

于 2011-04-14T02:30:18.610 に答える