Rails - 找不到 JavaScript 运行时?

IT技术 javascript ruby-on-rails ruby-on-rails-3 node.js ruby-on-rails-3.1
2021-01-15 11:55:12

我在rails 3.1.0.rc4本地机器上创建了一个新的 Rails 项目,但是当我尝试启动服务器时,我得到:找不到 JavaScript 运行时。有关可用运行时的列表,请参见此处( ExecJS::RuntimeUnavailable)

注意:这与 Heroku 无关。

6个回答

安装 javascript 运行时库如 nodejs 解决了这个问题

要在 ubuntu 上安装 nodejs,您可以在终端中键入以下命令:

sudo apt-get install nodejs

要使用 yum 在系统上安装 nodejs,请在终端中键入以下内容:

yum -y install nodejs
我现在推荐这条路线。往上看。
2021-03-14 11:55:12
删除了关于通过 Ubuntu 软件中心安装节点的答案中的注释,因为它不在那里(Ubuntu 12.04)
2021-03-27 11:55:12
@gwho 下面是杨的答案。看看那个。
2021-03-30 11:55:12
Ubuntu 64 在安装 therubyracer 时遇到了很大的麻烦,即使是最后一个版本 0.11.1 也没有解决这个问题。这个答案在这方面帮助了我。
2021-04-06 11:55:12
对我也是。sudo apt-get install nodejs.
2021-04-10 11:55:12

来自 Michael 12/28/2011 的说明 - 我已将我的接受从这个(rubytheracer)更改为上面(nodejs),因为 therubyracer 有代码大小问题。Heroku 现在强烈反对它它会“工作”,但可能有大小/性能问题。

如果您将运行时(例如 therubyracer)添加到 Gemfile 并运行 bundle,然后尝试启动它应该可以工作的服务器。

gem 'therubyracer'

编译coffeescript和uglifier需要javascript运行时。

2011 年 12 月 12日更新:有些人发现 ruby​​theracer 存在问题(我认为主要是代码大小)。他们发现 execjs(或 nodejs)工作得同样好(如果不是更好的话)并且体积要小得多。

nb Coffeescript 成为 3.1+ 的标准

我已将此标记为答案。这有点麻烦,因为这并没有立即修复它,我也在尝试使用 3.0.9 和 3.0.4 的新应用程序,但遇到了(不同的)错误。最后我又做了一个新的应用程序 - 并且还使用了 rails rc5 并添加了 ruby​​theracer 并进行了 bunlde 更新,最后我可以启动并运行服务器。感谢盖齐尔!
2021-03-15 11:55:12
它还用于使用 UglifyJS 压缩 JavaScript。请注意,执行这些任务的推荐方法是在开发中使用它们rake assets:precompile,然后将资产添加到您的存储库中;Rails 3.1 在发布时实际上并不需要在生产环境中使用 JavaScript 运行时。
2021-03-17 11:55:12
我认为一个好的做法可以放在开发组下的 gemfile 中,比如 group :development do gem 'therubyracer' end
2021-03-19 11:55:12
@eveevans 找不到运行时错误。资产在生产环境中编译,因此 therubyracer 必须在生产环境块下。
2021-03-24 11:55:12
顺便说一句,创建的标准 Rails 应用程序确实使用了 uglifier,我相信这也需要这样做。
2021-04-04 11:55:12

在您的 gem 文件中添加以下 gem

gem 'therubyracer'
gem 'execjs'

并运行

bundle install

或者

安装 Node.js以永久修复所有项目。

这对我有用(Linux Mint 16),我认为在最新版本的 rails 中要么错过了一些依赖项。
2021-03-22 11:55:12

sudo apt-get install nodejs对我不起作用。为了让它工作,我必须执行以下操作:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

希望这能帮助和我有同样问题的人。

@jpganz18 先试试这个:sudo apt-get install software-properties-common 如果这不能解决问题,你可以手动安装它:blog.anantshri.info/howto-add-ppa-in-debian
2021-03-18 11:55:12
对我有用 add-apt-repository ppa:chris-lea/node.js
2021-03-23 11:55:12

在windows平台上,我也遇到了这个问题我的解决方案就是添加

C:\Windows\System32

路径

并重新启动计算机。