2011-01-27 8 views
2

私は薄いRailsアプリを実行しようとしています。薄い上のRailsアプリ

私は以下の

を sudoのサービスの薄い開始を行った後、このチュートリアルhttp://www.funonrails.com/2010/03/nginx-and-thin-installation-and.html

を追ったが、薄い、ログファイルにエラー

/usr/lib/ruby/gems/1.8/gems/ですバンドル1.0.7/lib/bundler/source.rb:552:in load_spec_files': http://github.com/mislav/will _paginate.git (at rails3) is not checked out. Please runバンドルインストール `(Bundler :: GitError)

私はすでにバンドルインストールを実行しており、正常に実行されています。同じアプリケーション上のmongrelサーバーが正常に動作します。

何か問題があります。

+0

私はむしろrootとしてrailsアプリケーションを実行していないでしょう。 Nginxで十分です。非特権ポートでリッスンする可能性があります。それははるかに安全です。 – Arsen7

答えて

3

あなたの問題はおそらくあなたがsudo service thin startを実行している可能性があります。これで、通常のユーザーの代わりにルビのルート環境が使用されるようになりました。 rootルビー環境では、あなたの特権を持たないユーザとしてインストールした宝石をバンドラが見つけることができません。

これを証明するには、./script/server thinまたはrails server thinを実行して確認してください。

0

私が考えることができるのは、おそらく1つのシステムに2つの異なるルビーがあり、薄いものがバンドルインストールを実行していないということです。

1

問題は、バンドラが〜/ .bundleに宝石をインストールすることです。 rootとしてbundlerを実行すると、乗客は/root/.bundle内の宝石を見つけることができなくなります。

解決策は簡単です:bundle install .bundleは./.bundleに宝石をインストールします。これはあなたのrailsのルートディレクトリです。