【问题标题】:Heroku logs show syntax error in syck.rb. How to resolve this?Heroku 日志在 syck.rb 中显示语法错误。如何解决这个问题?
【发布时间】:2012-04-29 11:37:49
【问题描述】:

我正在尝试将 Rails 3.2 应用程序部署到 Heroku。

当我迁移数据库时,rake 被中止。

检查我看到的日志

/usr/local/lib/ruby/1.9.1/syck.rb:135:in `load': syntax error on line 7, col 11: `' (ArgumentError)

我试图找出造成这种情况的原因,包括禁用所有非必要的 gem、检查应用程序是否有明显的语法错误等。但没有运气。

由于这个错误似乎是由 Heroku 系统文件产生的,我不确定接下来要尝试什么。

有没有其他人遇到过这种情况?有没有什么好的参考资料可以帮助我深入了解这一点?

【问题讨论】:

  • 听起来像是某处 yml 文件第 7 行的语法错误。我假设在本地一切正常,因此 yml 文件的内容基于环境变量,或者差异来自在本地使用 psych(新的 yaml 解析器)但在 heroku 上使用 syck
  • 感谢@frederick。这已经让我发疯了一个多星期!我的应用程序使用考拉。在 facebook.yml 中,我没有包含所有环境的应用程序详细信息(应用程序 ID 等)。添加此信息后,一切正常!再次感谢。您想将此添加为答案,以便我接受。

标签: ruby-on-rails heroku


【解决方案1】:

听起来像是某个 yml 文件第 7 行的语法错误。

我假设本地一切正常,因此 yml 文件的内容基于开发和生产之间不同的环境变量(并且生产中的值导致不正确的 yaml)或差异来自使用 psych(新的 yaml 解析器) 在本地,但对 heroku 感到厌恶。您可以检查哪个解析器正在与 YAML::ENGINE 一起使用。

【讨论】:

  • 顺便说一句,我在 Sinatra 中收到了这个错误,这是由于我的“密码”字段的最后一行没有回车。 YAML 是一种依赖于间距和换行符的格式,因此请注意空格等。
猜你喜欢
  • 1970-01-01
  • 2021-04-02
  • 2011-03-22
  • 2017-03-30
  • 2019-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-16
相关资源
最近更新 更多