Rails - nie można znaleźć środowiska uruchomieniowego JavaScript?

Stworzyłem nowy projekt Rails używając rails 3.1.0.rc4 Na mojej lokalnej maszynie, ale kiedy próbuję uruchomić serwer, dostaję: Nie można znaleźć środowiska uruchomieniowego JavaScript. Zobacz tutaj , Aby uzyskać listę dostępnych czasów uruchamiania. (ExecJS::RuntimeUnavailable)

Uwaga: tu nie chodzi o Heroku.

Author: Michael Durrant, 2011-08-17

12 answers

Instalacja biblioteki uruchomieniowej javascript, takiej jak nodejs, rozwiązuje ten problem

Aby zainstalować nodejs na ubuntu, możesz wpisać w terminalu następujące polecenie:

sudo apt-get install nodejs

Aby zainstalować nodejs na systemach używających yum, wpisz w terminalu:

yum -y install nodejs
 480
Author: theTuxRacer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55

Uwaga Od Michael 12/28/2011-zmieniłem moje accept z tego (rubytheracer) na powyżej (nodejs), ponieważ therubyracer ma problemy z rozmiarem kodu. Heroku teraz mocno zniechęcić go . Będzie "działać" , ale może mieć problemy z rozmiarem/wydajnością.

Jeśli dodasz runtime, takie jak therubyracer do pliku Gemfile i uruchomisz pakiet, spróbuj uruchomić serwer, który powinien działać.

gem 'therubyracer'

Do kompilacji coffeescript wymagany jest skrypt javascript, a także Brzydal.

Update, 12/12/2011: niektórzy ludzie znaleźli problemy z rubytheracer(myślę, że głównie rozmiar kodu). Okazało się, że execj (lub nodejs) działają równie dobrze (jeśli nie lepiej) i są znacznie mniejsze.

N. b. Coffeescript stał się standardem dla 3.1 +

 45
Author: Gazler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-02 16:54:03

Dodaj następujące klejnoty do pliku klejnotów

gem 'therubyracer'
gem 'execjs'

And run

bundle install

Lub

Zainstaluj Węzeł.js , aby naprawić go na stałe dla wszystkich projektów.

 27
Author: Ramiz Raja,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-19 07:57:03

sudo apt-get install nodejs nie działa na mnie. Aby go uruchomić, muszę wykonać następujące czynności:

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
Mam nadzieję, że to pomoże komuś, kto ma ten sam problem co ja.
 15
Author: flyingsnow,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-13 18:39:13

Na platformie windows też spotkałem się z tym problemem Rozwiązaniem dla mnie jest po prostu dodaj

C:\Windows\System32

Do ścieżki

I uruchom ponownie komputer.

 6
Author: Yang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-04 11:57:33

Miałem ten problem na komputerze z systemem Windows i instalowałem węzeł.js było rozwiązaniem, które w końcu zadziałało. To było po wypróbowaniu Wielu innych tras, w tym próbach uruchomienia "therubyracer". Choć github dla node.js sugeruje, że instalacja w systemie windows jest nadal niestabilna, strona na http://nodejs.org / miał Instalator Windows, który działał idealnie.

 3
Author: Edub Kendo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-10 02:58:25

Jeśli zainstalowałeś już NodeJS na przykład ze źródła, a execjs go nie rozpoznaje, możesz spróbować tej porady: https://coderwall.com/p/hyjdlw

 1
Author: SnirD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-19 16:52:01

Jeśli wszystko się nie powiedzie możesz spróbować

# aptitude install nodejs

Jako root. Możesz przetestować instalację za pomocą następującego polecenia:

# node-v

Jeśli chcesz zainstalować NPM, zapoznaj się z następującym linkiem . Mam nadzieję, że to pomoże.

 1
Author: user3576216,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-16 21:16:14

Na CentOS 6.5 U mnie działało:

sudo yum install -y nodejs
 0
Author: Bob Stine,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-28 03:24:55

Install a Javascript runtime

Błąd jest spowodowany brakiem środowiska uruchomieniowego Javascript na komputerze lokalnym. Aby rozwiązać ten problem, musisz zainstalować NodeJS.

Możesz zainstalować NodeJS za pomocą Menedżera wersji węzła lub nvm :

Najpierw zainstaluj nvm:

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

Zainstaluj węzeł poprzez nvm:

nvm install 5.9.1

Spowoduje to zainstalowanie wersji 5.9.1 Node.

 0
Author: gnerkus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-27 16:57:35

Napotkałem ten problem używając Phusion Passenger (działającego jako moduł nginx) na serwerze Redhat. Mieliśmy już zainstalowany Javascript runtime. Inne aplikacje Rails w tym samym katalogu nadrzędnym działały poprawnie.

Okazało się, że mamy problem z uprawnieniami. Uruchom "ls - l" i sprawdź, czy folder ma tego samego właściciela i grupę co inne działające aplikacje w systemie. Musiałem uruchomić chown i chgrp na folderze (z przełącznikiem rekurencyjnym), aby to naprawić.

 0
Author: Patrick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-31 22:33:00

mam nadzieję, że masz preinstalowany nodejs | / nmv.

Moje rozwiązanie nie wymaga konfiguracji gem ani instalacji ' node z sudo apt" gdy masz już nvm.

Wystarczy edytować DesctopEntry RubyMine. za to będziemy mieli te małe kroki:

  1. idź do usr/share/applications
  2. Otwórz w dowolnym edytorze (używam vim ) Rubymine DesktopEntry vim RubyMine
  3. edycja linia 6 (zaczyna się od Exec). Warto dodać do początek /bin/bash -i -c. Więc twoja linia powinna wyglądać tak Exec=/bin/bash -i -c "/home/USERNAME/rubymine/RubyMine-2019.1.2/bin/rubymine.sh" %f
  4. zrobione! Jesteś wspaniały!

Jako korzyść wszystkie zmienne środowiskowe są teraz dostępne dla RubyMine. Więc nie czujesz bólu z dodawaniem ich.

 0
Author: dehelden,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-07-26 17:13:40