【发布时间】:2012-02-24 07:04:57
【问题描述】:
这个问题已经困扰我好几个小时了。
我已将 RVM 安装到系统目录,如果我要在 Capfile 中注释掉:
load 'deploy/assets'
这运行良好,我的应用程序已部署。
但是,一旦我取消注释该行,capistrano 将执行我需要的资产:预编译。这会引发以下错误:
Could not find multi_json-1.0.4 in any of the sources
问题似乎是捆绑器在通过 capistrano 时将 gems 安装到 rvm 下的不同目录中。它应该安装到 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。
基本上所有需要做的就是在进行asset:precompile之前进行捆绑安装,这与我在问题中提出的问题无关。
只需在 deploy.rb 中添加这个就可以了:
before "deploy:assets:precompile", "bundle:install"
【问题讨论】:
标签: ruby-on-rails capistrano bundler