ExecJS i nie można znaleźć środowiska uruchomieniowego JavaScript

Próbuję użyć szablonu Mongoid / Devise Rails 3.1 (Mongoid oraz Devise), i ciągle pojawia się błąd stwierdzający, że ExecJS nie można znaleźć środowiska uruchomieniowego JavaScript. W porządku, gdy nie miałem żadnego zainstalowanego, ale próbowałem zainstalować węzeł.js, Mustang i Ruby Racer , ale nic nie działa.

Nie mogłem znaleźć środowiska uruchomieniowego JavaScript. Zobacz sstephenson / ExecJS (GitHub) dla lista dostępnych runtimes (ExecJS::RuntimeUnavailable).

Co muszę zrobić, żeby to zadziałało?
Author: Peter Mortensen, 2011-06-08

14 answers

Użytkownicy Ubuntu

Jestem na Ubuntu 11.04 i miałem podobne problemy. Instalowanie Węzła.js naprawił to.

Od Ubuntu 13.04 x64 wystarczy uruchomić:

sudo apt-get install nodejs
To rozwiąże problem.

Użytkownicy CentOS / RedHat

sudo yum install nodejs
 416
Author: eldewall,
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-26 22:01:26

Wystarczy dodać ExecJSi Ruby Racer do pliku gem i uruchomić bundle install po.

gem 'execjs'

gem 'therubyracer'
Po wszystkim powinno być dobrze.
 442
Author: vincent jacquel,
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-04-19 14:17:11

W pliku Gem wpisz

gem 'execjs'
gem 'therubyracer'

And then run

bundle install

U mnie Wszystko działa dobrze:)

 75
Author: manish nautiyal,
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-03-10 16:36:57

Miałem podobny problem: Moja aplikacja Rails 3.1 działała dobrze na Windows, ale miała ten sam błąd co OP podczas pracy na Linuksie. Poprawka, która zadziałała dla mnie na obu platformach, polegała na dodaniu do mojego Gemfile:

gem 'therubyracer', :platforms => :ruby

Sztuczka polega na tym, że :platforms => :ruby w rzeczywistości oznacza używać tylko tego klejnotu z " C Ruby (MRI) lub Rubinius, ale nie Windows."

Inne możliwe wartości dla :platforms są opisane w na stronie podręcznika bundler .

FYI: Windows ma wbudowany JavaScript silnik, który execjs może zlokalizować. Na Linuksie nie ma wbudowanego, chociaż jest kilka dostępnych, które można zainstalować. Jest jednym z nich. Inne są wymienione w execjs README.md .

 47
Author: jwfearn,
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-07-06 17:56:37

Dodanie następującego klejnotu do mojego Gemfile rozwiązało problem:

gem 'therubyracer'

Następnie połącz swoje nowe zależności:

$ bundle install
 36
Author: JDutil,
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
2011-12-14 07:22:03

Alternatywnym sposobem jest po prostu połączyć się bez grupy klejnotów, która zawiera rzeczy, których nie masz.

Więc zrób:

bundle install --without assets

Nie musisz w ogóle modyfikować pliku Gemfile, oczywiście pod warunkiem, że nie robisz rzeczy związanych z łańcuchem zasobów - co zwykle ma zastosowanie w środowiskach innych niż deweloperskie. Bundle zapamięta Twoje ustawienie '-- without ' wplik bundle / config.

 16
Author: moschops,
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
2011-12-09 01:15:34

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

gem 'therubyracer'
gem 'execjs'

And run

bundle install

Jesteś skończony:)

 6
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-09-13 06:58:28

Dodałem Ruby Racer do pliku Gem, aby go naprawić. / Align = "left" / JS działa!

 4
Author: Richard Zhang,
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-03-10 16:39:40

Dla amazon linux (AMI):

sudo yum install nodejs npm --enablerepo=epel
 4
Author: William Hu,
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-08-03 01:59:51

Nie używaj Rubiracer, ponieważ jest zły na pamięć. instalowanie węzła.js jak sugerują niektórzy tutaj to lepszy pomysł.

Ta lista dostępnych środowisk uruchomieniowych, które mogą być używane przez Bibliotekę ExecJs, również dokumentuje użycie węzła.js

Https://github.com/sstephenson/execjs \

Więc Node.js nie jest przesadą i znacznie lepszym rozwiązaniem niż użycie rubyracera.

 3
Author: Nerve,
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-06-29 20:01:05

Dla twojej informacji, to naprawiło problem dla mnie... / align = "left" / : http://forums.freebsd.org/showthread.php?t=35539

 2
Author: MichelV69,
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-03-08 16:34:34

Miałem ten sam błąd, ale tylko na moim serwerze testowym, a nie w środowisku produkcyjnym. nodejs był już zainstalowany w obu środowiskach.

Wpisując:

which node

Dowiedziałem się, że komenda node znajduje się w: / usr / bin / node na produkcji ale: / usr / local / bin / node w staging.

Po utworzeniu dowiązania symbolicznego na stagingu tzn.:

sudo ln -s /usr/local/bin/node /usr/bin/node

Aplikacja działała następnie w trybie staging.

No muss no fuss.

 1
Author: Sean,
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-05-11 02:42:36

Zacząłem mieć ten problem, kiedy zacząłem używać Rbenv z Ruby 1.9.3, gdzie moim systemem jest ruby 1.8.7. Gem jest zainstalowany w obu miejscach, ale z jakiegoś powodu Skrypt rails go nie podniósł. Ale dodanie "execjs" i "therubyracer" do pliku Gemfile pomogło.

 0
Author: arangamani,
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-03-26 08:19:29

W Twoim pliku gem Odkomentuj tę linię.

19 # gem 'therubyracer', platformy:: ruby

And run bundle install

Jesteś gotowy do pracy. :)

 0
Author: Sandeep Roniyaar,
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-05-05 14:24:56