Rails – Impossible de trouver un runtime JavaScript?

J'ai créé un nouveau projet Rails à l'aide des rails 3.1.0.rc4 sur ma machine locale, mais lorsque j'essaie de démarrer le serveur, je reçois: Impossible de trouver un tempo d'exécution JavaScript. Voir ici une liste des temps d'exécution disponibles. ( ExecJS::RuntimeUnavailable )

Note: Il ne s'agit pas d'Heroku.

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

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

 sudo apt-get install nodejs 

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

 yum -y install nodejs 

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

Si vous ajoutez un runtime, comme therubyracer à votre Gemfile et exécutez le bundle, essayez et démarrez le serveur qu'il devrait fonctionner.

 gem 'therubyracer' 

Un temps d'exécution javascript est nécessaire pour compiler coffeescript et également pour ongle.

Mise à jour, 12/12/2011: Certaines personnes ont trouvé des problèmes avec rubytheracer (je pense que c'était surtout la taille du code). Ils ont trouvé execjs (ou nodejs) travaillé aussi bien (sinon mieux) et étaient beaucoup plus petits.

Nb Coffeescript est devenu une norme pour 3.1+

Ajoutez les gemmes suivantes dans votre fichier gemme

 gem 'therubyracer' gem 'execjs' 

et courir

 bundle install 

OU

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

sudo apt-get install nodejs ne fonctionne pas pour moi. Pour pouvoir fonctionner, 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 à avoir le même problème que moi.

Sur la plate-forme Windows, j'ai rencontré ce problème aussi. La solution pour moi vient d'ajouter

 C:\Windows\System32 

Au chemin d'accès

Et redémarrez l'ordinateur.

J'ai eu ce problème sur une machine Windows et j'ai installé node.js était la solution qui m'a finalement fonctionné. Cela est venu après avoir essayé plusieurs autres itinéraires, y compris en essayant de faire fonctionner le «therubyracer». Bien que le github pour node.js suggère que l'installation sur Windows est encore instable, le site Web à http://nodejs.org/ a eu un installateur Windows qui fonctionnait parfaitement.

Si vous installez déjà nodejs de source par exemple, et execjs ne le reconnaît pas, vous pouvez essayer cette astuce: https://coderwall.com/p/hyjdlw

Si tout échoue, vous pouvez essayer

# Aptitude install nodejs

En tant que root. Vous pouvez tester votre installation avec la commande suivante:

# Node -v

Si vous souhaitez installer NPM, reportez-vous au lien suivant. J'espère que cela aide.

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

 sudo yum install -y nodejs 

Installer un runtime Javascript

L'erreur est causé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 Node Version Manager ou nvm :

D'abord, installez nvm :

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

Installer Node à travers nvm :

 nvm install 5.9.1 

Cela installera la version 5.9.1 de Node.