J'essaie d'utiliser le modèle Mongoid / Devise Rails 3.1 ( Mongoid et Devise ), et je reçois toujours une erreur indiquant qu'ExecJS ne peut pas trouver un runtime JavaScript. Assez juste quand je n'en ai pas installé, mais j'ai essayé d'installer Node.js , Mustang et Ruby Racer , mais rien ne fonctionne.
Je n'ai pas pu trouver un runtime JavaScript. Voir sstephenson / ExecJS (GitHub) pour une liste des runtimes disponibles ( ExecJS::RuntimeUnavailable
).
Que dois-je faire pour que cela fonctionne?
ruby-on-rails-3.1
execjs
javascript
srboisvert
la source
la source
Réponses:
Utilisateurs d'Ubuntu
Je suis sur Ubuntu 11.04 et j'ai eu des problèmes similaires. L'installation de Node.js l'a corrigé.
Depuis Ubuntu 13.04 x64, il vous suffit d'exécuter:
Cela résoudra le problème.
Utilisateurs CentOS / RedHat
la source
Ajoutez simplement ExecJS et Ruby Racer dans votre fichier gem et exécutez
bundle install
après.Tout devrait bien se passer après.
la source
gem 'therubyracer'
Dans votre fichier Gem, écrivez
puis exécutez
Tout fonctionne bien pour moi :)
la source
J'ai eu un problème similaire: mon application Rails 3.1 a bien fonctionné sur Windows mais a obtenu la même erreur que l'OP lors de l'exécution sous Linux. Le correctif qui a fonctionné pour moi sur les deux plates-formes consistait à ajouter ce qui suit à mon
Gemfile
:L'astuce est de savoir que cela
:platforms => :ruby
signifie en fait uniquement utiliser ce joyau avec "C Ruby (MRI) ou Rubinius, mais PAS Windows."D'autres valeurs possibles pour
:platforms
sont décrites dans labundler
page de manuel .FYI: Windows a un moteur JavaScript intégré qui
execjs
peut localiser. Sous Linux, il n'y a pas de fonction intégrée bien qu'il y en ait plusieurs disponibles que l'on peut installer.therubyracer
est l'un d'eux. D'autres sont répertoriés dans leexecjs
fichier README.md .la source
L'ajout de la gemme suivante à mon Gemfile a résolu le problème:
Regroupez ensuite vos nouvelles dépendances:
la source
Une autre façon consiste à simplement regrouper sans le groupe de gemmes qui contient les choses que vous n'avez pas.
Alors faites:
vous n'avez pas du tout à modifier le Gemfile, à condition bien sûr que vous ne fassiez pas de choses sur la chaîne d'actifs - ce qui s'applique généralement dans des environnements autres que de développement. Bundle se souviendra de votre paramètre «--without» dans le fichier .bundle / config.
la source
Ajoutez les gemmes suivantes dans votre fichier de gemmes
et courir
vous avez terminé :)
la source
Pour amazon linux (AMI):
la source
J'avais l'habitude d'ajouter le Ruby Racer au fichier Gem pour le réparer. Mais bon, Node.js fonctionne!
la source
J'ai eu cette même erreur mais uniquement sur mon serveur de transfert et non sur mon environnement de production. nodejs était déjà installé sur les deux environnements.
En tappant:
J'ai découvert que la commande node était située dans: / usr / bin / node en production mais: / usr / local / bin / node en staging.
Après avoir créé un lien symbolique sur la mise en scène, c'est-à-dire:
l'application a ensuite travaillé en mise en scène.
Pas de bruit, pas de bruit.
la source
nodejs
aussiN'utilisez pas RubyRacer car il est mauvais en mémoire. Installer Node.js comme suggéré par certaines personnes ici est une meilleure idée.
Cette liste des temps d'exécution disponibles pouvant être utilisés par la bibliothèque ExecJs documente également l'utilisation de Node.js
https://github.com/sstephenson/execjs
Donc, Node.js n'est pas une solution excessive et une bien meilleure solution que d'utiliser RubyRacer.
la source
Pour info, cela a résolu le problème pour moi ... c'est un problème de cheminement: http://forums.freebsd.org/showthread.php?t=35539
la source
J'ai commencé à avoir ce problème lorsque j'ai commencé à utiliser rbenv avec Ruby 1.9.3 alors que mon système ruby est 1.8.7. Le bijou est installé aux deux endroits, mais pour une raison quelconque, le script rails ne l'a pas récupéré. Mais l'ajout des "execjs" et "therubyracer" au Gemfile a fait l'affaire.
la source
Dans votre fichier gem Décommentez cette ligne.
19 # gem 'therubyracer', plateformes:: rubis
Et exécutez l'installation de l'ensemble
Tu es prêt à travailler. :)
la source
Tentative de débogage dans RubyMine à l'aide d'Ubuntu 18.04, Ruby 2.6. *, Rails 5 et RubyMine 2019.1.1 , j'ai rencontré le même problème.
Pour résoudre le problème, j'ai décommenté la
mini_racer
ligne de monGemfile
, puis j'ai exécutébundle
:Changer pour:
la source
J'ai installé
node
via nvm et rencontré ce problème lors du déploiement avec Capistrano. Capistrano n'a pas chargé nvm automatiquement car il fonctionne de manière non interactive.Pour corriger, déplacez simplement les lignes que nvm ajoute à votre
~/.bashrc
haut. Le fichier ressemblera alors à ceci:la source