Heroku ruby​​ rails 4 with heroku ExecJS :: ProgramError:意外的令牌:错误

时间:2015-01-26 14:34:56

标签: javascript ruby-on-rails heroku deployment sqlite

嘿伙计们我试图在Heroku上的rails 4应用程序上部署我的ruby但是执行有问题。我使用sqlite3,我已经尝试了一切。

这是最后一个阶段的错误:

遥控器:----->为Rails资产管道准备应用程序     remote:正在运行:rake assets:预编译     遥控器:耙子中止了!     remote:ExecJS :: ProgramError:意外的令牌:运算符(<<)(第16行,第0行,第39行)     远程:错误     remote:at new JS_Parse_Error(/ tmp / execjs20150126-932-1636928js:2359:10623)     remote:at js_error(/ tmp / execjs20150126-932-1636928js:2359:10842)     remote:at croak(/ tmp / execjs20150126-932-1636928js:2359:19086)     remote:at token_error(/ tmp / execjs20150126-932-1636928js:2359:19223)     远程:意外(/ tmp / execjs20150126-932-1636928js:2359:19311)     remote:at expr_atom(/ tmp / execjs20150126-932-1636928js:2359:27526)     remote:at maybe_unary(/ tmp / execjs20150126-932-1636928js:2359:30019)     remote:at expr_ops(/ tmp / execjs20150126-932-1636928js:2359:30777)     remote:at maybe_conditional(/ tmp / execjs20150126-932-1636928js:2359:30869)     remote:at maybe_assign(/ tmp / execjs20150126-932-1636928js:2359:31312)     remote :(在/tmp/build_c9b90b740808f1b53c01e698e6740e18/app/assets/javascripts/app.js.orig)/tmp/build_c9b90b740808f1b53c01e698e6740e18/vendor/bundle/ruby/2.0.0/gems/execjs-2.2.2/lib/execjs/external_runtime。 rb:64:在`extract_result'中     remote:/ tmp / build_c9b90b740808f1b53c01e698e6740e18 / vendor / bundle

我的application.js:

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .
//= require jquery-ui

的Gemfile:

group :development do
gem 'sqlite3'
end
group :production do
gem 'pg'
gem 'rails_12factor'
end

在我运行此命令时:

 bundle exec rake --trace assets:precompile

我明白了:

** Invoke assets:precompile (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Execute assets:precompile

但是在我得到一些不同的东西之前告诉我进入公共/资产/(一个非常长的屁股文件名).js紧挨着执行资产:precompile。当我进入文件时,它确实有一些“<<”。它是由我认为的基础产生的,但我不想碰任何东西。

1 个答案:

答案 0 :(得分:2)

我也面临着这个问题。我发现多行注释也可能导致此问题。

<!-- -->

这是js中多行注释的错误语法,因此很麻烦。

这些应该替换为// comments

这解决了我的问题。

为了找到问题,我不得不首先在本地运行资产预编译任务,sprockets没有尝试压缩文件然后通过,然后我可以转到行号来查找是的评论造成所有麻烦。