【发布时间】:2017-01-22 04:23:32
【问题描述】:
我正在尝试根据Heroku guide for Rails 4 设置我的资产管道,但是当我在控制台输入时:
rake assets:precompile RAILS_ENV=production
我收到此错误:
rake aborted!
ExecJS::ProgramError: SyntaxError: Unexpected token: eof (undefined) (line: 46, col: 0, pos: 1394)
Error
at new JS_Parse_Error (<eval>:3623:11948)
at js_error (<eval>:3623:12167)
at croak (<eval>:3623:22038)
at token_error (<eval>:3623:22175)
at unexpected (<eval>:3623:22263)
at block_ (<eval>:3623:28063)
at ctor.body (<eval>:3623:27686)
at function_ (<eval>:3623:27782)
at expr_atom (<eval>:3623:31068)
at maybe_unary (<eval>:3624:1752)
new JS_Parse_Error ((execjs):3623:11948)
js_error ((execjs):3623:12167)
croak ((execjs):3623:22038)
token_error ((execjs):3623:22175)
unexpected ((execjs):3623:22263)
block_ ((execjs):3623:28063)
ctor.body ((execjs):3623:27686)
function_ ((execjs):3623:27782)
expr_atom ((execjs):3623:31068)
maybe_unary ((execjs):3624:1752)
V8::Error: SyntaxError: Unexpected token: eof (undefined)
at js_error (<eval>:3623:12167)
at croak (<eval>:3623:22038)
at token_error (<eval>:3623:22175)
at unexpected (<eval>:3623:22263)
at block_ (<eval>:3623:28063)
at ctor.body (<eval>:3623:27686)
at function_ (<eval>:3623:27782)
at expr_atom (<eval>:3623:31068)
at maybe_unary (<eval>:3624:1752)
at expr_ops (<eval>:3624:2523)
at maybe_conditional (<eval>:3624:2615)
at maybe_assign (<eval>:3624:3058)
at expression (<eval>:3624:3384)
at expr_list (<eval>:3623:31548)
at subscripts (<eval>:3624:1461)
at expr_atom (<eval>:3623:31132)
at maybe_unary (<eval>:3624:1752)
at expr_ops (<eval>:3624:2523)
at maybe_conditional (<eval>:3624:2615)
at maybe_assign (<eval>:3624:3058)
at expression (<eval>:3624:3384)
at expr_atom (<eval>:3623:30820)
at maybe_unary (<eval>:3624:1752)
at expr_ops (<eval>:3624:2523)
at maybe_conditional (<eval>:3624:2615)
at maybe_assign (<eval>:3624:3058)
at expression (<eval>:3624:3384)
at simple_statement (<eval>:3623:25942)
at <eval>:3623:23902
at <eval>:3623:22954
at <eval>:3624:3759
at parse (<eval>:3624:3999)
at parse (<eval>:3958:22)
at uglifier (<eval>:4003:13)
Tasks: TOP => assets:precompile
我在 SO 上看到过其他类似错误的帖子,例如 this 和 this,但在这两种情况下,错误都足以说明错误在哪个文件中。在我的错误中,我没有看不到对实际文件的引用,所以我很难从这里去哪里。
回想起来,当我开始尝试修复此问题时,它确实显示了一个文件(或其他内容),但我无法确定它的正面或反面(我也不知道为什么它停止显示错误的位置。 ..):
Error
at new JS_Parse_Error (/private/var/folders/hz/1d1f64ln59b4_pl632lm6mpr0000gn/T/execjs20170121-47471-7jr3eejs:3623:11948)
at js_error (/private/var/folders/hz/1d1f64ln59b4_pl632lm6mpr0000gn/T/execjs20170121-47471-7jr3eejs:3623:12167)
at croak (/private/var/folders/hz/1d1f64ln59b4_pl632lm6mpr0000gn/T/execjs20170121-47471-7jr3eejs:3623:22038)
at token_error (/private/var/folders/hz/1d1f64ln59b4_pl632lm6mpr0000gn/T/execjs20170121-47471-7jr3eejs:3623:22175)
at unexpected (/private/var/folders/hz/1d1f64ln59b4_pl632lm6mpr0000gn/T/execjs20170121-47471-7jr3eejs:3623:22263)
at block_ (/private/var/folders/hz/1d1f64ln59b4_pl632lm6mpr0000gn/T/execjs20170121-47471-7jr3eejs:3623:28063)
at /private/var/folders/hz/1d1f64ln59b4_pl632lm6mpr0000gn/T/execjs20170121-47471-7jr3eejs:3623:27686
at function_ (/private/var/folders/hz/1d1f64ln59b4_pl632lm6mpr0000gn/T/execjs20170121-47471-7jr3eejs:3623:27782)
at expr_atom (/private/var/folders/hz/1d1f64ln59b4_pl632lm6mpr0000gn/T/execjs20170121-47471-7jr3eejs:3623:31068)
at maybe_unary (/private/var/folders/hz/1d1f64ln59b4_pl632lm6mpr0000gn/T/execjs20170121-47471-7jr3eejs:3624:1752)
new JS_Parse_Error ((execjs):3623:11948)
js_error ((execjs):3623:12167)
croak ((execjs):3623:22038)
token_error ((execjs):3623:22175)
unexpected ((execjs):3623:22263)
block_ ((execjs):3623:28063)
(execjs):3623:27686
function_ ((execjs):3623:27782)
expr_atom ((execjs):3623:31068)
maybe_unary ((execjs):3624:1752)
我查看了那里提到的目录,没有看到相关文件。我在整个系统中搜索“execjs20170121-47471-7jr3ee”和“execjs20170121-47471-7jr3eejs”,但没有成功。
从我在其他帖子中看到的内容来看,Uglifier 似乎在解析我的 Javascript 时出错了,但同样,我只是不知道去哪里尝试修复它。
有什么想法吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 heroku asset-pipeline uglifyjs