我的项目运行正常,我正在调整用chartkick制作的图表,并使用ActionCable更新HTML徽章,但突然我收到此错误:
Pages#create_session中的ExecJS :: RuntimeError
Showing B:/.../app/views/layouts/application.html.erb where line #7 raised:
SyntaxError: [stdin]:14:32: unexpected end of input
Extracted source (around line #7):
5 <%= csrf_meta_tags %>
6 <%= javascript_include_tag "https://www.gstatic.com/charts/loader.js" %>
7 <%= javascript_include_tag 'application', 'chartkick' %>
8 <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
9 <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
10 </head>
Application Trace | Framework Trace | Full Trace
app/views/layouts/application.html.erb:7:in `_app_views_layouts_application_html_erb___430303067_44605968'
app/controllers/pages_controller.rb:145:in `render_page'
app/controllers/pages_controller.rb:46:in `create_session'
我用谷歌搜索发现此错误意味着我的系统上有一个problem with the JavaScript runtime(我正在使用Windows 10)。
我尝试过的事情:
删除// = require_tree。来自application.js-对我不起作用,因为那样我所有的JavaScript代码都不再起作用(我的项目使用ActionCable)
按detailed here的原样修改C:\ RailsInstaller \ Ruby2.3.0 \ lib \ ruby \ gems \ 2.3.0 \ gems \ execjs-2.7.0 \ lib \ execjs \ runtimes.rb-没有解决问题
添加“ therubyracer” gem-无法安装,这是我得到的error message。那是完整的错误消息,然后就完成了。据我所知无法安装,因为未安装Python 2?
正如建议的here一样,我添加了宝石'coffee-script-source'-没有修复它,现在我无法删除它,因为突然有其他宝石依赖它了?奇怪的。
自从我开始这个项目以来,我已经安装了Node.js,所以不可能。
我正在使用Windows 10,Ruby 2.3.0和Rails 5.0.2,这是我当前的Gemfile。
这是我的application.js:
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require chartkick
//= require_tree .
我知道有很多关于此问题的帖子,但是尝试了几乎所有内容后,我有点迷路了……请帮助! =)
最佳答案
在Ziyan Junaideens指针之后,我搜索了所有的CoffeeScript文件,最后发现我未完成一个方法调用...> _ <
received: (data) ->
App.online_status. #<--- right here
那我学到了什么呢?累了以后就不要编程了,否则第二天就会花时间寻找愚蠢的错误! ^^ *