昨晚进行了大量更新,我的网站目前已关闭。我用cap deploy:rollback
没有运气。错误日志并没有告诉我太多。我在尝试部署时看到的最后一个错误是:
** [out :: website.com] You are trying to install in deployment mode after changing
** [out :: website.com] your Gemfile. Run `bundle install` elsewhere and add the
** [out :: website.com] updated Gemfile.lock to version control.
** [out :: website.com]
** [out :: website.com] You have deleted from the Gemfile:
** [out :: website.com] * asset_sync
command finished in 934ms
我的cap tail
只是说了以下内容而没有错误:
Migrating to AddSessionsTable (20120722094547)
Migrating to AddSlugToUserProjects (20120723204816)
Migrating to AddSlugIndexToUserProjects (20120723205558)
Migrating to CreateFriendlyIdSlugs (20120723210904)
Migrating to AddNameToUsers (20120723221700)
Migrating to AddSlugToUsers (20120723222456)
Migrating to CreateComments (20120724203252)
任何帮助?
答案 0 :(得分:0)
在开发服务器上运行bundle install
,然后cap deploy
。另一种可能的解决方案:将asset_sync
添加回您的Gemfile。
最后,您可以运行cap -d deploy
。它将逐步运行部署,要求您继续执行每个步骤。在单独的shell中登录到生产服务器,并在手动步骤之间进行一些调整。
答案 1 :(得分:0)
看起来Gemfile的改变并不顺利。如何修复:
killall -9 ruby
看起来(在unicorn.log中),错误是: E,[2012-07-26T17:27:10.552912#24818]错误 - :未初始化的常量AssetSync(NameError)
答案 2 :(得分:0)
将一些Gemfile source
行转换为块后,我遇到了同样的错误。
该错误是由于生产中的旧版Bundler(1.7.3)与开发时的1.8.3版本所致。