web-dev-qa-db-fra.com

Rails - Impossible de trouver un runtime JavaScript?

J'ai créé un nouveau projet Rails à l'aide de Rails 3.1.0.rc4 sur mon ordinateur local, mais lorsque j'essaie de démarrer le serveur, j'obtiens ce qui suit: Impossible de trouver un moteur d'exécution JavaScript. Voir ici pour une liste des environnements d'exécution disponibles. (ExecJS::RuntimeUnavailable)

Note: Ce n'est pas à propos de Heroku.

244
Michael Durrant

L'installation d'une bibliothèque d'exécution javascript telle que nodejs résout ce problème

Pour installer nodejs sur Ubuntu, vous pouvez taper la commande suivante dans le terminal:

Sudo apt-get install nodejs

Pour installer nodejs sur des systèmes utilisant yum, tapez ce qui suit dans le terminal:

yum -y install nodejs
469
theTuxRacer

Note de Michael le 28/12/2011 - J'ai changé mon acceptation de this (rubytheracer) à celle ci-dessus (nodejs) car therubyracer a des problèmes de taille de code. Heroku maintenant fortement décourage-le . Cela fonctionnera mais peut avoir des problèmes de taille/performance.

Si vous ajoutez un runtime, tel que therubyracer, à votre Gemfile et exécutez bundle, essayez de démarrer le serveur, cela devrait fonctionner.

gem 'therubyracer'

Un runtime javascript est requis pour compiler Coffeescript et également pour uglifier.

Mise à jour, 12/12/2011: Certaines personnes ont rencontré des problèmes avec rubytheracer (je pense que c'était principalement la taille du code). Ils ont découvert que execjs (ou nodejs) fonctionnait aussi bien (sinon mieux) et était beaucoup plus petit.

nb Coffeescript est devenu un standard pour 3.1+

44
Gazler

Ajouter les gemmes suivantes dans votre fichier gem

gem 'therubyracer'
gem 'execjs'

et courir

bundle install

OU

Installez Node.js pour le réparer définitivement pour tous les projets.

27
Ramiz Raja

Sudo apt-get install nodejs ne fonctionne pas pour moi. Pour que cela fonctionne, je dois faire ce qui suit:

Sudo apt-get install python-software-properties
Sudo add-apt-repository ppa:chris-lea/node.js
Sudo apt-get update
Sudo apt-get install nodejs

J'espère que cela aidera quelqu'un qui a le même problème que moi.

15
flyingsnow

Sur la plate-forme Windows, j'ai également rencontré ce problème. La solution pour moi consiste simplement à ajouter

C:\Windows\System32

au CHEMIN

et redémarrez l'ordinateur.

6
Yang

J'ai eu ce problème sur une machine Windows et l'installation de node.js était la solution qui a finalement fonctionné pour moi. Ceci est arrivé après avoir essayé plusieurs autres itinéraires, y compris en essayant de faire fonctionner 'Therubyracer'. Bien que le github de node.js suggère que l'installation sur Windows soit toujours instable, le site Web à l'adresse http://nodejs.org/ avait un programme d'installation Windows qui fonctionnait parfaitement.

3
Edub Kendo

Si tout échoue, vous pouvez essayer

# aptitude install nodejs

en tant que racine. Vous pouvez tester votre installation avec la commande suivante:

# noeud -v

Si vous souhaitez installer NPM, veuillez vous reporter à la suite de lien . J'espère que ça aide.

1
user3576216

si vous installez déjà nodejs à partir des sources, par exemple, et que execjs ne le reconnaît pas, essayez ce conseil: https://coderwall.com/p/hyjdlw

1
SnirD

J'espère que vous avez pré-installé des nœuds || nmv.

Ma solution ne nécessite pas la configuration de Gem ou l'installation de 'noeud avec Sudo apt " lorsque vous avez déjà nvm.

Tout ce dont vous avez besoin est d’éditer DesctopEntry of RubyMine. pour cela nous aurons ces petites étapes:

  1. Aller àusr/share/applications
  2. Ouvrir dans n’importe quel éditeur (j’utilise vim) Rubymine DesktopEntry vim RubyMine
  3. Edit ligne 6 (commence par Exec). Vous devez ajouter au début /bin/bash -i -c. Donc, votre ligne devrait ressembler à ceci Exec=/bin/bash -i -c "/home/USERNAME/rubymine/RubyMine-2019.1.2/bin/rubymine.sh" %f
  4. Terminé! Tu es glorieux!

Tous les variables d’environnement sont maintenant disponibles pour RubyMine. Donc, vous ne ressentez aucune douleur à les ajouter.

0
Ivan Kevich

J'ai rencontré ce problème en utilisant Phusion Passenger (fonctionnant en tant que module nginx) sur un serveur Redhat. Nous avions déjà un runtime Javascript installé. Les autres Rails applications du même répertoire parent ont bien fonctionné.

Il s'est avéré que nous avions un problème d'autorisations. Exécutez "ls -l" et voyez si le dossier a le même propriétaire et le même groupe que les autres applications actives du système. Je devais exécuter chown et chgrp sur le dossier (avec le commutateur récursif) pour le réparer.

0
Patrick

Installer un runtime Javascript

L'erreur est provoquée par l'absence d'un runtime Javascript sur votre machine locale. Pour résoudre ce problème, vous devez installer NodeJS.

Vous pouvez installer NodeJS via le Node Version Manager ou nvm :

Commencez par installer nvm:

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash

Installez Node à nvm:

nvm install 5.9.1

Ceci installera la version 5.9.1 de Node.

0
gnerkus

Sur CentOS 6.5, les éléments suivants ont fonctionné pour moi:

Sudo yum install -y nodejs
0
Bob Stine