【问题标题】:Rails 5 - Current ExecJS runtime does't support ES6. Please install latest Node.jsRails 5 - 当前的 ExecJS 运行时不支持 ES6。请安装最新的 Node.js
【发布时间】:2018-07-19 06:30:02
【问题描述】:

在 rails 5 中,我使用以下 gem 创建了一个新应用程序

gem 'devise'
gem 'execjs'
gem 'therubyracer', :platforms => :ruby
gem "less-rails" #Sprockets (what Rails 3.1 uses for its asset pipeline) supports LESS
gem 'bootstrap', '~> 4.1.1'
gem 'bootstrap-glyphicons'
gem 'simple_form'
gem 'sprockets'
gem 'jquery-rails'
gem "letter_opener_web"
gem 'will_paginate', '~> 3.1.0'
gem 'local_time'

在application.html.erb文件中,

<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': true %>

在 application.js 中,

 //= require rails-ujs
 //= require jquery
 //= require jquery_ujs
 //= require activestorage
 //= require popper.min
 //= require local-time
 //= require bootstrap
 //= require_tree .

当我启动服务器并打开 localhost:3000 时,我收到类似 Current ExecJS runtime does't support ES6. Please install latest Node.js. 的错误

我也尝试通过sudo apt-get install nodejs 修复它,但显示相同的错误。而node -vv8.11.2

请帮我解决这个问题。

【问题讨论】:

  • 您是否尝试过将application.js中的require一一删除,以确定是哪一个触发了问题?你也试过升级到node 10.x吗?
  • 我已将node 升级到v10.7.0 版本,并通过删除所有require 进行检查,但同样的错误
  • 然后扔掉gem 'therubyracer', :platforms =&gt; :ruby
  • nodejs 安装后,卸载 gems 并重新安装。主要是 ruby​​racer 或 execjs。
  • 我已经按照你说的尝试过了,但是同样的问题。

标签: jquery ruby-on-rails node.js ruby assets


【解决方案1】:

我想execjs 正在尝试使用安装为旧的 apt 包的 nodejs。您可以创建链接 nodejs -> node 作为 execjs 首先寻找 nodejs 然后寻找节点:

ln -s $(which node) $(which node)js   

或者只是删除从 apt 包中安装的 nodejs:

apt-get remove nodejs

execjs 将使用节点

【讨论】:

    【解决方案2】:

    删除gem 'therubyracer', :platforms =&gt; :ruby 并再次执行bundle install,因为您安装了node.js(最新)。这应该主要解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-20
      • 2011-12-24
      • 1970-01-01
      • 2018-04-10
      • 2022-06-20
      相关资源
      最近更新 更多