it-swarm.com.ru

Rails - Не удалось найти среду выполнения JavaScript?

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

Примечание: это не о Героку.

243
Michael Durrant

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

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

Sudo apt-get install nodejs

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

yum -y install nodejs
465
theTuxRacer

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

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

gem 'therubyracer'

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

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

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

44
Gazler

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

gem 'therubyracer'
gem 'execjs'

и беги

bundle install

ИЛИ

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

27
Ramiz Raja

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

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

15
flyingsnow

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

C:\Windows\System32

на ПУТЬ

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

6
Yang

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

3
Edub Kendo

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

# aptitude install nodejs

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

# узел -v

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

1
user3576216

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

1
SnirD

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

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

0
Patrick

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

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

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

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

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

Установите Node через nvm:

nvm install 5.9.1

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

0
gnerkus

На CentOS 6.5 у меня работало следующее:

Sudo yum install -y nodejs
0
Bob Stine