0

我最近安装了 windowsruby 2.0.0p247rails 4.0.0linux 。

但是在给rails new Myapp和之后bundle install

我可以rails s在 Windows 中启动它而没有任何问题,但是在 linux 中出现 javascript 运行时错误,可以通过在 Gemfile中添加gem 'therubyracer'(或取消注释)来解决。

我的问题是它如何在 Windows 中工作,但在我手动添加 therubyracer 到它之前不能在 linux 中工作。

4

1 回答 1

3

Rails 依赖execjs来提供 javascript 运行时环境。

如果主机操作系统提供了 Execjs 将使用本机 javascript 运行时。MacOSX(它有 JavascriptCore)和 Windows(它有 JScript)就是这种情况。

在 linux 上,没有“默认 js 引擎”,这很有意义,因为 linux 只是一组驱动程序。您将在内核和基本布局之上添加的桌面环境由您决定。您将使用的 javascript 实现也是如此。最常见的两个是 node.js 和 rhino(mozilla js 解释器)。

Therubyracer 实际上只是一个嵌入 v8 二进制副本的 gem,它是 node.js 背后的引擎。

于 2013-09-18T13:03:08.060 回答