2012-02-24 105 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經歷Capistrano的一段時間。它應該安裝到rvm_path/gems/gemset_path /的位置,它會將其安裝到rvm_path/gems/gemset_path/ruby​​/1.9.1 /,如本文中所述:RVM, Capistrano and bundler path issues

有沒有其他人遇到過這個問題,並想出瞭解決這個問題的方法?

謝謝!

編輯:

終於找到了解決這個。這個鏈接解釋它:https://github.com/capistrano/capistrano/issues/81

基本上所有需要做的事情就是在做資源之前先進行捆綁安裝:預編譯,與我在問題中提出的問題無關。

只需添加這在deploy.rb幫助:

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

回答

2

其實,要做到這一點最簡單的方法就是升級到1.0.8捆紮機。這解決了在資產編譯之前不運行捆綁包安裝的問題。

+0

Bundler 1.8?! Bundler現在在1.1 rc。 – 2012-02-25 17:07:58

+0

我的不好,謝謝修正Vijay,我的意思是Bundler 1.0.8哈哈。帖子已更正。 – gtr32x 2012-02-25 17:09:30

+1

我遇到同樣的問題。 Bundler在客戶端和服務器上的版本爲v1.0.21。 'bundle:install'不會自動完成?!?我們還必須在「deploy:assets:precompile」,「bundle:install」'之前添加''? – Meltemi 2012-02-26 02:04:20