通过本教程,我是ruby,rails和walk(crawling?)的新手。第二个项目使用scaffolding创建一个由名称和电子邮件地址组成的用户。当我尝试查看用户屏幕时,我得到以下内容:
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。
我在谷歌上发现了这个错误,并且据说我尝试使用了一个修复程序(execjs gem 1.2.9),但这似乎并没有为我修复....我已经尝试了所有的修复程序(尽管我的有限ruby等能力最好)但似乎没有任何工作,虽然错误信息有时不同 - 仍然在同一行上的错误。
我试图卸载并重新安装cygwin,ruby,rails等......到目前为止无济于事......
任何反馈都会很棒!
答案 0 :(得分:5)
我在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下工作,但这似乎解决了我现在的问题。此外,我似乎有正确的先决条件,但如果您在配置或制作过程中遇到麻烦,那么只需按“逐步安装nodejs cygwin”进行搜索。
答案 1 :(得分:3)
我不确定这是否适用于您的情况,但在Ubuntu上您可以添加
gem 'therubyracer'
到您的Gemfile,它会正常工作。
另一个提示是在Gemfile中注释掉以下几行:
group :assets do
# gem 'sass-rails', " ~> 3.1.0"
# gem 'coffee-rails', "~> 3.1.0"
# gem 'uglifier'
end
因为那些是需要execjs的那些
答案 2 :(得分:1)
我也遇到了这个问题,解决了安装javascript运行时的问题:
sudo apt-get install nodejs
我关注这篇文章:
祝你好运!
答案 3 :(得分:0)
作为试图在Windows上执行该书的人,我有两条建议:
安装Ubuntu以在rails上运行ruby。这是一个小工作,但如果你要投入时间和精力,它是值得的100倍。您可以使用现有窗口设置双重安装。或者,只需找到一台旧电脑并将其安装在那里。它使用的功率远低于windows xp,只有大约300 Mb的内存。
从使用Rails的Agile Web开始开始。 http://www.amazon.com/Agile-Development-Rails-Pragmatic-Programmers/dp/1934356549。这是一个更好的第一个教程。
答案 4 :(得分:0)
我有类似的问题。帮助我在Ruby 2.0.0上更新了Ruby 1.9.3。
答案 5 :(得分:-1)
运行
bundle install
在 cmd 中,它会安装一些新的宝石。
返回cygwin并启动服务器
rails s
一切都会好的。我有同样的问题。 Cygwin似乎是这里的问题。
答案 6 :(得分:-1)
在Windows上,我遇到了同样的问题。似乎没有安装javascript解释器来编译脚手架中使用的coffeescript。从http://nodejs.org/安装node.js并重新启动用于运行rails的命令提示符,以便更新路径。
我没有安装cygwin,所以我无法编译节点。