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上做这本书的人,我有两条建议:

  1. 安装Ubuntu以在rails上运行ruby。 这是一个小工作,但如果你要投入时间和精力,它是值得的100倍。 您可以使用现有窗口设置双重安装。 或者,只需找到一台旧计算机并将其安装在那里。 它使用的功率远低于windows xp,只有大约300 Mb的内存。

  2. 从使用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

我关注这篇文章:

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

祝好运!

我有类似的问题。 帮助我在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,所以我无法编译节点。