从cap部署编译资产时Bundler :: GemNotFound

时间:2012-06-20 22:09:14

标签: ruby-on-rails-3 capistrano rvm-capistrano

我正在使用capistrano部署到服务器并执行捆绑执行rake RAILS_ENV =生产RAILS_GROUPS =资产资产:预编译作为最后一步。问题是当它达到这一点时,我会收到以下错误:

/usr/local/rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/spec_set.rb:90:in“block in materialize”:找不到平台 - 在任何来源中都是0.4.0(Bundler :: GemNotFound)

Platform-0.4.0 IS实际上在服务器上。当我进入服务器并运行这个确切的命令时,一切都很好。

关于我的服务器的一些事实:它使用RVM,但这似乎不是cap的问题,因为上面的堆栈跟踪会暗示。另一个令人感兴趣的事实是,该服务器首先使用我编写的自定义脚本创建,该脚本下载了git repo的存档版本,然后手动运行部署中的cap。如果有人要求,我这样做的原因是使用AWS AutoScaling实现自动化。如果我进行正常部署:设置(不使用我的AWS脚本),它可以正常部署。但是宝石列表是相同的,并且该网站的工作方式都是相同的。它只是帽子部署的一部分

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我弄清楚我做错了什么。在我的自定义AMI脚本上,我将初始版本文件夹命名为“first”,它应该是capistrano通常命名的时间戳。这在随后的部署中搞砸了。