2012-02-24 7 views
1

この問題は数時間悩まされています。Rails 3.1アセット:RVMでプリコンパイルエラーが発生しました

私は、システムディレクトリにRVMをインストールしていると私はCapfileでコメントアウトした場合:

load 'deploy/assets' 

これは正常に動作し、私のアプリが配備されています。

ただし、その行のコメントを解除すると、capistranoは必要なアセット:プリコンパイルを行います。これは私に次のエラーがスローされます。

Could not find multi_json-1.0.4 in any of the sources 

問題はカピストラーノを通過しながら、バンドラーは、RVMの下に別のディレクトリに宝石をインストールしているように見えます。 rvm_path/gems/gemset_path /にインストールする必要がある場合は、rwm_path/gems/gemset_path/ruby​​/1.9.1 /にインストールします。ここではRVM, Capistrano and bundler path issuesと記載されています。

誰かがこの問題に遭遇し、これを解決する方法を見つけましたか?

ありがとうございます!

EDIT:

は、最後にこれに対する解決策を見つけました。このリンクの説明:https://github.com/capistrano/capistrano/issues/81

基本的には、アセットを実行する前にバンドルインストールを行う必要がありました:プリコンパイル。私が質問で提起した問題とは無関係でした。

だけdeploy.rbでこれを追加すると助け:

before "deploy:assets:precompile", "bundle:install" 

答えて

2

実は、これを実行する最も簡単な方法は、ちょうどバンドラー1.0.8にアップグレードすることです。これは、資産のコンパイルの前にバンドルインストールを実行しないという問題を解決します。

+0

バンドル1.8! Bundlerは現在1.1 rcです。 –

+0

私の悪い、訂正のための感謝のビジェイ、私はBundler 1.0.8ハハを意味した。投稿が修正されました。 – gtr32x

+1

私は同じ問題を抱えています。 Bundlerはクライアントとサーバーでv1.0.21にあります。そして、 'bundle:install'は自動的に行われませんか? deployの前に 'assets:precompile"、 "bundle:install" 'を追加する必要がありますか? – Meltemi

関連する問題