web-dev-qa-db-fra.com

Le runtime ExecJS actuel ne prend pas en charge ES6

rake assets:precompile pour mon Rails renvoie l'erreur ci-dessous:

râteau avorté! Le runtime ExecJS actuel ne prend pas en charge ES6. Veuillez installer le dernier Node.js.

Voici les informations sur l'environnement:

Rails -v
Rails 5.0.7

Ruby -v
Ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]

node -v
v6.11.1

J'ai essayé de réinstaller toutes mes gemmes. Mais encore, l'erreur vient. OS est RHEL.

Toute suggestion sera appréciée.

8
Vipul Kumar

j'ai eu le même problème après la mise à niveau de l'autoprefixer-Rails vers la version 9.0.0. je l'ai corrigé en définissant autoprefixer-Rails sur une version pré 9:

gem 'autoprefixer-Rails', '8.6.5'

dans mon Gemfile

17
pfeffan

J'ai eu un problème similaire après la mise à niveau vers Rails 5.2

La solution pour moi a été d'ajouter cette ligne

 # make the ExecJs use NodeJs
 ENV['EXECJS_RUNTIME'] = 'Node'

Dans ce dossier

config/boot.rb

Redémarrez ensuite le serveur Rails

9
Ahmed Elkoussy

Il y a eu un problème similaire ouvert dans la gemme Autoprefixer-Rails concernant cette erreur, mais il a été généré à partir d'un modèle ActionView. surveillez la réponse du contributeur:

https://github.com/ai/autoprefixer-Rails/issues/137

4
Kara Carrell

Remplacez therubyracer par mini_racer dans Gemfile:

# gem 'therubyracer', platforms: :Ruby
gem 'mini_racer', platforms: :Ruby

Puis:

$ bundle install
4
Caio Tarifa