execjs在windows上做michael hartl教程的问题…用户#index中的ExecJS :: RuntimeError
通过教程,我是ruby,rails和walk(爬行?)的新手。 第二个项目使用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: 4: DemoApp 5: 6: 7: 8: 9: 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等……到目前为止无济于事……
任何反馈都会很棒!
作为试图在Windows上做这本书的人,我有两条建议:
-
安装Ubuntu以在rails上运行ruby。 这是一个小工作,但如果你要投入时间和精力,它是值得的100倍。 您可以使用现有窗口设置双重安装。 或者,只需找到一台旧计算机并将其安装在那里。 它使用的功率远低于windows xp,只有大约300 Mb的内存。
-
从使用Rails的Agile Web开始开始。 http://www.amazon.com/Agile-Development-Rails-Pragmatic-Programmers/dp/1934356549 。 这是一个更好的第一个教程。
我在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”进行搜索。
我不确定这是否适用于您的情况,但在Ubuntu上您可以添加
gem 'therubyracer'
到你的Gemfile,它会工作得很好。
另一个提示是注释掉Gemfile中的以下行:
group :assets do # gem 'sass-rails', " ~> 3.1.0" # gem 'coffee-rails', "~> 3.1.0" # gem 'uglifier' end
因为那些是需要execjs的
我也有这个问题,它解决了安装javascript运行时:
sudo apt-get install nodejs
我关注这篇文章:
祝好运!
我有类似的问题。 帮助我在Ruby 2.0.0上更新Ruby 1.9.3。
跑
bundle install
在cmd中 ,它将安装一些新的gem。
回到cygwin并启动你的服务器
rails s
一切都会好的。 我有同样的问题。 Cygwin似乎是这里的问题。
在Windows上,我遇到了同样的问题。 似乎没有安装javascript解释器来编译脚手架中使用的coffeescript。 从http://nodejs.org/安装node.js并重新启动用于运行rails的命令提示符,以便更新路径。
我没有安装cygwin,所以我无法编译节点。