我正在使用heroku来部署我的应用程序(rails 3)。好的,我通常会做git commit
,git push heroku master
=>部署还可以,安装宝石等......
在网络浏览器中运行我的应用时,我收到了一个heroku错误:app崩溃了。
In the ouput of heroku logs, this got my attention :
==> dyno-2625316.log (crash) <==
/disk1/home/slugs/321697_5debeb5_58eb-de03f9a2-bd41-487c-aae7-6b20b9281d85/mnt/.bundle/gems/ruby/1.8/gems/activesupport-
3.0.0/lib/active_support/dependencies.rb:239:in `require': /disk1/home/slugs/321697_5debeb5_58eb-de03f9a2-bd41-487c-aae7
-6b20b9281d85/mnt/app/helpers/string_helper.rb:6: syntax error, unexpected kEND, expecting $end (SyntaxError)
似乎我的string_helper模块中存在一个语法错误。这个文件是用utf-8编码的(我知道它很重要,因为它很重要)。
此文件包含以下行(空):
module StringHelper
end
注意:我有一个包含方法的groups_helper文件,因此应用程序崩溃了。我删除了它,现在错误指向了这个stringhelper。
我现在要做的是:删除此文件并重新部署。
编辑我删除了string_helper。现在错误发生在events_controller.rb上,这是一个非常相同的错误
==> dyno-2625316.log (crash) <==
/disk1/home/slugs/321697_401813b_58eb-4b2e3910-f043-4e4f-8eae-8631c932a62b/mnt/.bundle/gems/ruby/1.8/gems/activesupport-
3.0.0/lib/active_support/dependencies.rb:239:in `require': /disk1/home/slugs/321697_401813b_58eb-4b2e3910-f043-4e4f-8eae
-8631c932a62b/mnt/app/controllers/events_controller.rb:104: syntax error, unexpected kEND, expecting $end (SyntaxError)
第104行是班级的最后一步
class EventsController < ApplicationController
layout 'event'
def index
end
...
end
此文件也在utf-8
中答案 0 :(得分:1)
看起来您的文件在开头就有BOM字符。
UTF-8不需要BOM,实际上会导致ruby 1.8出现问题。
你需要删除它们并设置你的编辑器不要写它们。