Ошибка при запуске приложения rails - ExecJS:: RuntimeError
Я пробовал эту игру, и я еще не нашел ответа на мою проблему.
Я пытаюсь запустить простой контроллер script через рельсы, и он дает мне эту ошибку, когда я добираюсь до страницы.
ExecJS::RuntimeError in Say#hello
Очевидно, что это контроллер, а hello - метод. Далее по странице я получаю дополнительную информацию об ошибке.
dyld: unknown required load command 0x80000022
(in /Users/JoeMoe/Sites/demoRails/app/assets/javascripts/say.js.coffee)
Я проверил этот файл, и в нем нет ничего кроме прокомментированного кода. Здесь должно быть что-то?
Вот что в файле say.js.coffee
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
Вниз по странице еще я вижу, что могу сделать трассировку приложения, которая показывает мне.
app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb__169683399_21885150'
Я также могу сделать фрейм-трассировку. Кстати, это будет длинный список.
execjs (1.2.9) lib/execjs/external_runtime.rb:129:in `exec_runtime'
execjs (1.2.9) lib/execjs/external_runtime.rb:27:in `block in exec'
execjs (1.2.9) lib/execjs/external_runtime.rb:40:in `compile_to_tempfile'
execjs (1.2.9) lib/execjs/external_runtime.rb:26:in `exec'
execjs (1.2.9) lib/execjs/external_runtime.rb:18:in `eval'
execjs (1.2.9) lib/execjs/external_runtime.rb:32:in `call'
coffee-script (2.2.0) lib/coffee_script.rb:57:in `compile'
tilt (1.3.3) lib/tilt/coffee.rb:46:in `evaluate'
tilt (1.3.3) lib/tilt/template.rb:76:in `render'
sprockets (2.0.3) lib/sprockets/context.rb:175:in `block in evaluate'
sprockets (2.0.3) lib/sprockets/context.rb:172:in `each'
sprockets (2.0.3) lib/sprockets/context.rb:172:in `evaluate'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:171:in`build_dependency_context_and_body'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:135:in `dependency_context'
....
Больше, но его довольно длинный список, и я не хочу вас утомлять. Дайте мне знать, если вам нужен полный список, и я вставьте его.
Я запускаю Mac OS X со следующим
- Ruby 1.9.2
- Rails 3.1.0
- Самоцвет 1.8.10
- sqlite3 3.7.9
Ответы
Ответ 1
вам нужно установить дополнительный камень для javascript.
отредактируйте gemfile и добавьте gem 'therubyracer'. Затем вы можете запустить пакет для установки нового драгоценного камня.
вот ваше решение в деталях:
http://www.railszilla.com/2011/12/rails-3-coffescript-execjs/
Ответ 2
Это случилось со мной! Вам нужно установить " nodejs". Когда я работал с Ubuntu Linux, я сделал:
apt-get install nodejs
Источник: http://forums.pragprog.com/forums/148/topics/9665#posts-26576 (сообщение Сэма Руби)
Ответ 3
Если у вас возникла эта проблема на рабочем сервере, это может быть связано с использованием памяти.
в то время как сервер прекомпиляции ресурсов использует много памяти.
consider restarting your production server.
Ответ 4
Ничто из этого не помогло мне.,
Я установил gem 'coffee-script-source', '1.8.0'
.
Затем приложение запускалось без проблем.
Ответ 5
Похоже, что вам может не хватать нескольких драгоценных камней.
Добавьте в свой Gemfile:
gem 'therubyracer'
gem 'execjs'
И затем запустите $ bundle install
, чтобы установить их.