无法将Rails应用推送到Heroku

3

突然间我们不能将我们的Rails应用程序推送到Heroku-它在staging和production环境下都以相同的方式失败,以及我们刚刚为测试设置的新应用程序。这个应用程序已经在Heroku上运行了9个月,每周多次推送,没有任何问题,但是从昨天开始,在模型文件进行一些无意义的更改后,我们得到了以下错误:

-----> Ruby app detected
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-2.0.0
-----> Installing dependencies using 1.5.2
       New app detected loading default bundler cache
       Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment sh: Syntax error: "(" unexpected
       Bundler Output:  !  !     Failed to install gems via Bundler.  !

 !     Push rejected, failed to compile Ruby app

更新:
疯狂的是,我们刚刚将所有代码回滚到上一次成功部署到Heroku的提交版本,结果仍然失败了。换句话说,几天前完全相同的代码部署成功了,现在却出现了这个错误。

??


是的,它在本地运行良好。 - Yarin
你的 Gemfile 文件顶部是否有 ruby '2.0.0' - raviolicode
是的,在Gemfile中没有任何更改。 - Yarin
我有完全相同的问题。突然间它不再接受推送,而且还会出现这个无用的错误:sh: 语法错误: "(" 意外。 - joscas
我正在查看 help.heroku,但是我还没有找到任何有用的信息。请更新一下。谢谢! - joscas
显示剩余6条评论
1个回答

3
我们的几个Heroku应用程序也遇到了类似的问题。我们发现最近Heroku堆栈升级更改了它们解析Heroku配置变量的方式。我们的一个变量有一个双引号",在尝试进行捆绑时抛出语法错误。我建议检查您的Heroku配置变量,确保没有开放括号或双引号。
您可以通过运行heroku config来检查这一点。

太好了,这正是问题所在——我们在配置变量中去掉了括号和双引号,现在一切都恢复正常了。谢谢! - Yarin
我们已经部署了一个修复程序,现在即使在配置中有不匹配的括号,您也应该能够进行部署。 - Schneems
更新:正如@Schneems所说,Heroku团队已经回复并迅速修复了这个问题,因此不应再出现此类问题。顺便说一句,该问题是由于他们推出的更改导致的,以使所有构建中都可用的应用程序环境,这是一个受欢迎的改进。有关详细信息,请参见:https://devcenter.heroku.com/changelog-items/416 - Yarin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接