【发布时间】:2018-04-10 16:09:31
【问题描述】:
我的项目运行良好,我正在调整使用 chartkick 制作的图表并使用 ActionCable 更新 HTML 徽章,突然我收到此错误:
页面中的 ExecJS::RuntimeError#create_session
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)
- 修改 C:\RailsInstaller\Ruby2.3.0\lib\ruby\gems\2.3.0\gems\execjs-2.7.0\lib\execjs\ runtimes.rb 为 @ 987654322@ - 没修好
- 添加 'therubyracer' gem - 无法安装,这是我得到的error message。这是完整的错误信息,然后就完成了。据我所知,它无法安装,因为没有安装 Python 2?
- 按照here 的建议,我添加了 gem 'coffee-script-source' - 没有修复它,现在我无法删除它,因为突然其他 gem 依赖它?很奇怪。
- 自从我开始这个项目以来,我已经安装了 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! =)
-
很高兴听到,很高兴你想通了。如果您对 Rails 很认真,我建议您不要使用 Windows。 Ubuntu 是进入 Linux 世界的好地方。
标签: javascript ruby-on-rails ruby ruby-on-rails-5 chartkick