проблема с execjs, делающей учебник Майкла Хартла на windows ... ExecJS :: RuntimeError в Users # index - PullRequest
3 голосов
/ 26 сентября 2011

Я новичок в рубине, рельсах и иду (ползу?) По учебнику. второй проект использует скаффолдинг для создания пользователя, состоящего из имени и адреса электронной почты. когда я пытаюсь просмотреть экран пользователей, я получаю следующее:

ExecJS::RuntimeError in Users#index

Showing /home/max/rails_proj/demo_app/app/views/layouts/application.html.erb where line #6 raised:

湉異⁴牅潲㩲唠歮潮湷漠瑰潩⼢浴⽰硥捥獪〲ㄱ㤰㔲㐭㜲ⴲ㠱㝮穩ⴰ⸰獪•灳捥晩敩⹤਍
  (in /home/max/rails_proj/demo_app/app/assets/javascripts/users.js.coffee)
Extracted source (around line #6):

3: <head>
4:   <title>DemoApp</title>
5:   <%= stylesheet_link_tag    "application" %>
6:   <%= javascript_include_tag "application" %>
7:   <%= csrf_meta_tags %>
8: </head>
9: <body>
Rails.root: /home/max/rails_proj/demo_app

Application Trace | Framework Trace | Full Trace
app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb__1031573605_1065816420'
app/controllers/users_controller.rb:7:in `index'

Я использую windows xp, cygwin, rails 3.1.0 (я тоже пробовал новый rc1), ruby ​​1.8.7.

Я нашел эту ошибку в Google, и якобы есть исправление, которое я пытался использовать (execjs gem 1.2.9), но, похоже, это не исправило его для меня .... Я пробовал все исправления (в меру моих ограниченных возможностей ruby ​​и т. д. на данный момент), но, похоже, ничего не работает, хотя сообщение об ошибке иногда отличается - все равно ошибки в той же строке.

Я пытался удалить и переустановить cygwin, ruby, rails и т. Д., Но пока безрезультатно ...

любая обратная связь была бы отличной!

Ответы [ 7 ]

5 голосов
/ 12 апреля 2012

Я получил ту же ошибку на Cygwin. Я попытался скомпилировать последний файл node.js (v0.6.15), но он сказал, что Cygwin не поддерживается. Старая версия, кажется, поддерживает это, поэтому вот что я сделал:

wget http://nodejs.org/dist/node-v0.4.12.tar.gz
tar xvfz node-v0.4.12.tar.gz
cd node-v0.4.12/
./configure
make
make install

Я не уверен, есть ли более новая версия, чем 0.4.12, которая будет работать под Cygwin, но это, кажется, решает мою проблему на данный момент. Также у меня, похоже, были правильные предварительные требования, но если у вас возникли проблемы во время конфигурирования или make, просто выполните поиск «пошаговая установка nodejs cygwin».

3 голосов
/ 26 сентября 2011

Я не уверен, будет ли это работать в вашем случае, но в Ubuntu вы можете добавить

gem 'therubyracer'

в ваш Gemfile, и он будет отлично работать.

Еще один совет - закомментировать следующие строки в Gemfile:

group :assets do
#  gem 'sass-rails', "  ~> 3.1.0"
#  gem 'coffee-rails', "~> 3.1.0"
#  gem 'uglifier'
end

так как это те, которые требуют execjs

1 голос
/ 16 октября 2011

У меня также была эта проблема, и она была решена установкой среды выполнения javascript:

sudo apt-get install nodejs

Я подписался на этот пост:

http://www.adanacs.com/node/3

Удачи!

0 голосов
/ 02 февраля 2014

У меня была похожая проблема.Помог мне обновить Ruby 1.9.3 на Ruby 2.0.0.

0 голосов
/ 23 сентября 2012

На окнах у меня была такая же проблема. Похоже, что для компиляции coffeescript, используемого в скаффолдах, не установлен интерпретатор javascript. Установите файл node.js из http://nodejs.org/ и перезапустите командную строку, которую вы использовали для запуска rails, чтобы обновить путь.

У меня не установлен Cygwin, поэтому я не смог скомпилировать узел.

0 голосов
/ 29 мая 2012

Пробег

bundle install

in cmd и он установит несколько новых драгоценных камней.

Вернитесь в Cygwin и запустите ваш сервер

rails s

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

0 голосов
/ 26 сентября 2011

Как человек, который пытался сделать эту книгу на Windows, у меня есть 2 совета:

  1. Установите Ubuntu для запуска ruby ​​на рельсахЭто немного работы, но если вы собираетесь инвестировать время и усилия, это стоит 100 раз.Вы можете настроить двойную установку с существующими окнами.Или просто найдите старый компьютер и установите его там.Он потребляет гораздо меньше энергии, чем Windows XP и только около 300 Мб памяти.

  2. Начните с Agile Web Development с Rails.http://www.amazon.com/Agile-Development-Rails-Pragmatic-Programmers/dp/1934356549.Это гораздо лучший первый урок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...