這個問題困擾着我幾個小時了。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"
Bundler 1.8?! Bundler現在在1.1 rc。 – 2012-02-25 17:07:58
我的不好,謝謝修正Vijay,我的意思是Bundler 1.0.8哈哈。帖子已更正。 – gtr32x 2012-02-25 17:09:30
我遇到同樣的問題。 Bundler在客戶端和服務器上的版本爲v1.0.21。 'bundle:install'不會自動完成?!?我們還必須在「deploy:assets:precompile」,「bundle:install」'之前添加''? – Meltemi 2012-02-26 02:04:20