Maison >interface Web >js tutoriel >Pourquoi est-ce que je reçois un ExecJS::RuntimeError sous Windows lors de l'exécution d'une application Rails ?

Pourquoi est-ce que je reçois un ExecJS::RuntimeError sous Windows lors de l'exécution d'une application Rails ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-09 19:46:02814parcourir

Why am I getting an ExecJS::RuntimeError on Windows when running a Rails application?

ExecJS::RuntimeError sous Windows rencontré en suivant le didacticiel Ruby

Cette erreur se produit lors de la tentative d'exécution de code JavaScript dans une application Rails sur Fenêtres. La cause première réside dans un problème avec ExecJS, une gemme qui permet à Ruby d'exécuter du JavaScript.

Solutions possibles :

1. Supprimez "= require_tree ." :

Bien que la suppression de cette ligne puisse résoudre le problème immédiat, elle ne fait que masquer le problème sous-jacent lié à ExecJS.

2. Installez Node.js :

L'utilisation de Node.js comme moteur d'exécution JavaScript évite le problème, mais nécessite l'installation d'un logiciel supplémentaire.

3. Résoudre le problème ExecJS :

Modifiez le fichier ExecJS "runtimes.rb" pour modifier la configuration d'exécution JScript :

  • Supprimez "//U" de ":commande " ligne.
  • Remplacez ":encoding" par 'UTF-8'.

Section "runtimes.rb" mise à jour :

JScript = ExternalRuntime.new(
    :name        => "JScript",
    :command     => "cscript //E:jscript //Nologo",
    :runner_path => ExecJS.root + "/support/jscript_runner.js",
    :encoding    => 'UTF-8' # CScript with //U returns UTF-16LE
)

Après avoir modifié "runtimes.rb", redémarrez le serveur Rails pour voir si le problème persiste. Reportez-vous au fil de discussion GitHub où le problème a été initialement discuté pour obtenir de l'aide : https://github.com/sstephenson/execjs/issues/81#issuecomment -9892952

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn