Подтвердить что ты не робот

Ошибка при запуске приложения 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

4b9b3361

Ответ 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, чтобы установить их.