Rumah >hujung hadapan web >tutorial js >Mengapa saya mendapat ExecJS::RuntimeError pada Windows apabila menjalankan aplikasi Rails?

Mengapa saya mendapat ExecJS::RuntimeError pada Windows apabila menjalankan aplikasi Rails?

Patricia Arquette
Patricia Arquetteasal
2024-11-09 19:46:02830semak imbas

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

ExecJS::RuntimeError pada Windows Ditemui Semasa Mengikuti Tutorial Ruby

Ralat ini berlaku apabila cuba menjalankan kod JavaScript dalam aplikasi Rails pada Windows. Punca utama terletak pada isu dengan ExecJS, permata yang membolehkan Ruby melaksanakan JavaScript.

Penyelesaian Kemungkinan:

1. Alih keluar "= require_tree .":

Walaupun mengalih keluar baris ini mungkin menyelesaikan isu segera, ia hanya menyembunyikan masalah berkaitan ExecJS yang mendasari.

2. Pasang Node.js:

Menggunakan Node.js sebagai masa jalan JavaScript mengelakkan isu ini, tetapi memerlukan pemasangan perisian tambahan.

3. Betulkan Isu ExecJS:

Edit fail "runtimes.rb" ExecJS untuk mengubah suai konfigurasi masa jalan JScript:

  • Alih keluar "//U" daripada arahan ": " baris.
  • Tukar ":pengekodan" kepada 'UTF-8'.

Bahagian "runtimes.rb" yang dikemas kini:

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
)

Selepas mengubah suai "runtimes.rb," mulakan semula pelayan Rails untuk melihat sama ada isu itu berterusan. Rujuk urutan GitHub tempat isu asalnya dibincangkan untuk mendapatkan bantuan lanjut: https://github.com/sstephenson/execjs/issues/81#issuecomment-9892952

Atas ialah kandungan terperinci Mengapa saya mendapat ExecJS::RuntimeError pada Windows apabila menjalankan aplikasi Rails?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn