ExecJS :: ProgramError в Pages # home [дубликат]

63
задан AB10 10 February 2015 в 00:42
поделиться

16 ответов

В ваших /app/views/layouts/application.html.erb строках 5 и 6 измените первый параметр с application на default.

Я встретил ту же проблему, тоже для моя ситуация, я не знаю почему, но это происходит только в Windows. Параметр application работает на веб-сервере.

141
ответ дан Sonu 1 September 2018 в 04:56
поделиться

(В Windows 8)

  1. Установить Node.js!
  2. Добавить его в PATH (ENV_VAR)
  3. перезапустить сервер
4
ответ дан adhix11 1 September 2018 в 04:56
поделиться

Его проблема с камнем turbolinks, поэтому его создание ошибки

Итак, в app \ views \ layouts \ application.html.erb измените это

<%= stylesheet_link_tag    'application.css', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application.js', 'data-turbolinks-track': 'reload' %>

из

<%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>

и раскомментируйте строку № 15 в app \ assets \ javascripts \ application.js

require turbolinks

и скопируйте ее в app \ assets \ stylesheets \ application.css в конце файла

Из этого будут запущены ваши css и js

0
ответ дан arpit bandil 1 September 2018 в 04:56
поделиться

мы должны только изменить строку 6 от application до default в /app/views/layouts/application.html.erb. изменение строки 5 приведет к тому, что таблицы стилей не будут загружены.

0
ответ дан BENS 1 September 2018 в 04:56
поделиться

У меня тоже была эта проблема. Я отправился в Sublime в мою папку проекта. Затем щелкнул папки приложений, просмотрел папку, макет, щелкнул application.html.erb и изменил строки 5 и 6 «приложение» на «по умолчанию». Отлично. Спасибо, что опубликовали вашу проблему и поблагодарили тех, кто ответил!

Я просто хотел добавить, что я вошел в Sublime. Я просто учился, и я не понимал, как получить доступ к файлу .erb. Просто хотел помочь другим.

3
ответ дан dmers 1 September 2018 в 04:56
поделиться

Если вы работаете в WIndows, кофе-скрипт-источник 1.9.0 не работает в Windows.

Измените его на предыдущую версию, добавив эту строку в свой Gemfile:

gem 'coffee-script-source', '1.8.0'

И затем переустановите комплект, настраивающий зависимости для новой версии Gem с помощью:

bundle update coffee-script-source
58
ответ дан evedovelli 1 September 2018 в 04:56
поделиться

Я пробовал все вышеперечисленные решения, и только один, который работал правильно, - установить node.js, добавить каталог в переменную окружения «путь» в окнах (найти в Advanced System Settings, Envirnment Variables, path) и затем перезагрузите компьютер и сервер. Я думаю, что более поздние версии источника кофе-скрипта должны зависеть от node.js вместе с другими драгоценными камнями. У меня была идентичная ошибка без использования источника кофе-скрипта.

Изменение «приложения» на «по умолчанию» является ужасным решением, потому что оно просто удаляет все стили CSS-приложения. Я вообще не рекомендую.

0
ответ дан Graeme Campbell 1 September 2018 в 04:56
поделиться

Просто установите NodeJS на свой локальный компьютер (убедитесь, что соответствующая запись добавлена ​​в PATH) и добавьте

gem 'execjs'

в Gemfile .

6
ответ дан Ilya Bodrov-Krukowski 1 September 2018 в 04:56
поделиться

Я на Rails 5.1.6. Я была такая же проблема. Как было рекомендовано выше, я деградировал драгоценный камень с кофе-сценарием, который решил проблему.

# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2' # <-- This existed already
gem 'coffee-script-source', '1.8.0' # <-- Adding this line solved the problem

Примечание: я не изменял файл application.html.rb

0
ответ дан Kaz 1 September 2018 в 04:56
поделиться

Вам нужно прочитать инструкцию на странице рельсов. Вам необходимо использовать ExecJS gem и некоторую среду выполнения JS.

Более практично: 1. Установить некоторую Juntime Runtime, например node.js

2.-get ExecJS gem-> gem install execjs

Экспликация:

На странице рельсов:

«Компиляция сжатия JavaScriptScript и JavaScript требует, чтобы в вашей системе было время выполнения JavaScript, в отсутствие во время выполнения вы увидите ошибку execjs во время компиляции актива. Обычно Mac OS X и Windows имеют установленную среду JavaScript. Rails добавляет драгоценный камень therubyracer в созданный Gemfile в комментариях для новых приложений, и вы можете раскомментировать его, если вам это нужно. therubyrhino является рекомендуемым временем выполнения для пользователей JRuby и по умолчанию добавляется в Gemfile в приложениях, созданных в JRuby. Вы можете исследовать все поддерживаемые среды выполнения в ExecJS. "

Из hte gitHub из ExecJS:

«ExecJS позволяет запускать код JavaScript из Ruby. Он автоматически выбирает лучшее время исполнения для оценки вашей программы JavaScript, затем r выдает результат для вас как объекта Ruby.

ExecJS поддерживает эти промежутки времени:

therubyracer - Google V8 embedded within Ruby
therubyrhino - Mozilla Rhino embedded within JRuby
Duktape.rb - Duktape JavaScript interpreter
Node.js
Apple JavaScriptCore - Included with Mac OS X
Microsoft Windows Script Host (JScript)
Google V8
mini_racer - Google V8 embedded within Ruby" 

ExecJS Readme GitHub

0
ответ дан Mauro 1 September 2018 в 04:56
поделиться

У меня эта проблема некоторое время, и я прошел через все ответы в этом потоке и нашел, что все они не увенчались успехом, я решил добавить свое решение в надежде, что он поможет будущим пользователям Rails.

Я сделал все в этом потоке - изменение application до default позволяет ему проходить без ошибок, но затем, как только вы на самом деле пытаетесь использовать какой-либо JavaScript, отображается ошибка относительно не имея возможность найти default.js. Я установил NodeJS и поместил его в папку Ruby / bin. Это ничего не сделало, поэтому я удалил его.

Вы действительно можете временно обойти эту проблему с «отключением application с default» решением, но это очень короткий срок. Это решение может работать для вас, если у вас нет намерения стилизовать или добавить JavaScript в приложение через конвейер Rails. Я не тестировал это сам, но я предполагаю, что в него могут работать JavaScript и таблицы стилей в файле заголовка application.html. Но тогда вы теряете магию Rails.

У меня была эта проблема на платформах Windows 8, Windows 10 и Ubuntu.

Единственное, что решает его, для меня и по-прежнему делает JavaScript и таблицы стилей, - это сначала изменить application на application.css для таблиц стилей (даже если вы используете Sass / SCSS, потому что он все еще компилируется в css) и application.js для ссылки JavaScript. Как только это будет сделано, зайдите в ваш файл /assets/javascripts/application.js и удалите // перед //= require turbolinks.

И теперь ваше приложение должно работать нормально.

Это, вероятно, более глубокая проблема с turbolinks, но это быстрое обходное решение, которое еще не подвело меня.

23
ответ дан MK McKenzie 1 September 2018 в 04:56
поделиться

Я просто изменил «application» на «default» в строках 5 и 6 и разрешил. /app/views/layouts/application.html.erb.

FROM:

<%= stylesheet_link_tag    '**application**', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag '**application**', 'data-turbolinks-track' => true %>

TO:

<%= stylesheet_link_tag    '**default**', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag '**default**', 'data-turbolinks-track' => true %>
1
ответ дан Mogsdad 1 September 2018 в 04:56
поделиться

В Windows 10 версии 1511 добавлен gem 'coffee-script-source', '1.8.0' в мой gemfile, а затем ruby ​​bin \ bundle update coffee-script-source из каталога проекта. NB: предыдущая версия сценария с кофе-скриптом, которая была заменена, была 1.10.0

5
ответ дан Paul Leach 1 September 2018 в 04:56
поделиться

В Windows 10

Просто установите node.js и убедитесь, что исполняемый файл узла находится в переменной пути.

0
ответ дан Rafaf Tahsin 1 September 2018 в 04:56
поделиться

Наконец-то он начал работать с облегчением. Хотя я не совсем уверен, что заставило его работать. Пробовал все следующее. 1) Установил node.js, добавил coffescript npm к нему и перезапустил. 2) Добавлен gem для exec.js и изменен runtime.rb, чтобы он не мог использовать файл сценария Windows по умолчанию. См. Эту ссылку о том, как это сделать: [ https://github.com/sstephenson/execjs/issues/81] [1] 3) Чтобы быть в безопасности, также добавлен рубиновый драгоценный камень gem 'therubyracer ', platform:: ruby ​​

В итоге добавлены два сценария, nodejs и rubyracer и добавлены execjs, так что он выбирает лучший скриптовый движок, но не может выбрать механизм обработки скриптов.

Полагаю, что только установка nodejs могла бы работать после добавления execjs. Однако я не перезапустил (установка post nodejs) и попробовал все другие вещи.

1
ответ дан Rpant 1 September 2018 в 04:56
поделиться

в окне сценария кофе-скрипта Windows = = 1.9.0 не работает должным образом. просто добавьте Gemfile

 gem 'coffee-script-source', '1.8.0'

и запустите

bundle update coffee-script-source
19
ответ дан Thorin 1 September 2018 в 04:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: