Rails - Не удалось найти среду выполнения JavaScript? - PullRequest
243 голосов
/ 17 августа 2011

Я создал новый проект Rails, используя rails 3.1.0.rc4 на моей локальной машине, но когда я пытаюсь запустить сервер, я получаю: Не удалось найти среду выполнения JavaScript.Смотрите здесь для получения списка доступных сред выполнения.(ExecJS::RuntimeUnavailable)

Примечание. Речь идет не о Героку.

Ответы [ 11 ]

466 голосов
/ 20 сентября 2011

Установка библиотеки времени выполнения javascript, такой как nodejs, решает эту проблему

Чтобы установить nodejs в Ubuntu, вы можете ввести следующую команду в терминале:

sudo apt-get install nodejs

Чтобы установить nodejs в системах, использующих yum, введите в терминале следующее:

yum -y install nodejs
44 голосов
/ 17 августа 2011

Примечание от Майкла 28/12/2011 - я изменил свое согласие с этим (rubytheracer) на выше (nodejs), поскольку у therubyracer есть проблемы с размером кода.Heroku теперь решительно препятствует этому .Он будет «работать», но может иметь проблемы с размером / производительностью.

Если вы добавите среду выполнения, например therubyracer, в свой Gemfile и запустите комплект, попробуйте запустить сервер, на котором он должен работать.

gem 'therubyracer'

Javascript runtime требуется для компиляции coffeescript, а также для uglifier.

Update, 12/12/2011: Некоторые люди обнаружили проблемы с rubytheracer (я думаю, что это былов основном размер кода).Они обнаружили, что execjs (или nodejs) работают так же хорошо (если не лучше) и были намного меньше.

nb Coffeescript стал стандартом для 3.1 +

27 голосов
/ 13 сентября 2012

Добавьте следующие гемы в свой файл гемов

gem 'therubyracer'
gem 'execjs'

и запустите

bundle install

ИЛИ

Установить Node.js чтобы исправить это навсегда для всех проектов.

15 голосов
/ 22 ноября 2012

sudo apt-get install nodejs у меня не работает.Чтобы заставить его работать, я должен сделать следующее:

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

Надеюсь, это поможет кому-то, у кого возникла та же проблема, что и у меня.

6 голосов
/ 04 ноября 2012

На платформе Windows я тоже столкнулся с этой проблемой. Решение для меня - просто добавить

C:\Windows\System32

в PATH

и перезагрузить компьютер.

3 голосов
/ 10 февраля 2012

У меня была эта проблема на компьютере с Windows, и установка node.js была решением, которое наконец-то сработало для меня.Это произошло после попытки нескольких других маршрутов, включая попытки заставить работать therubyracer.Хотя github для node.js предполагает, что установка на windows все еще нестабильна, на веб-сайте http://nodejs.org/ был установлен установщик Windows, который работал отлично.

1 голос
/ 17 августа 2014

Если все не удалось, вы можете попробовать

# aptitude install nodejs

от имени пользователя root.Вы можете проверить вашу установку с помощью следующей команды:

# node -v

Если вы хотите установить NPM, см. Следующую ссылку ссылка .Надеюсь, это поможет.

1 голос
/ 19 декабря 2013

если вы уже установили nodejs из источника, например, и execjs не распознает его, вы можете попробовать этот совет: https://coderwall.com/p/hyjdlw

0 голосов
/ 01 ноября 2017

Я столкнулся с этой проблемой, используя Phusion Passenger (работает как модуль nginx) на сервере Redhat. У нас уже была установлена ​​среда выполнения Javascript. Другие приложения Rails в том же родительском каталоге работали нормально.

Оказалось, что у нас проблема с разрешениями. Запустите «ls -l» и посмотрите, есть ли у папки тот же владелец и группа, что и у других работающих приложений в системе. Мне пришлось запустить chown и chgrp в папке (с рекурсивным переключателем), чтобы исправить это.

0 голосов
/ 27 марта 2016

Установка среды выполнения Javascript

Ошибка вызвана отсутствием среды выполнения Javascript на вашем локальном компьютере. Чтобы решить эту проблему, вам нужно установить NodeJS.

Вы можете установить NodeJS через Node Version Manager или nvm :

Сначала установите nvm:

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

Установить узел через nvm:

nvm install 5.9.1

Это установит версию 5.9.1 узла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...