Rails-找不到JavaScript运行时?


Answers:


475

安装JavaScript运行时库(例如nodejs)可以解决此问题

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

sudo apt-get install nodejs

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

yum -y install nodejs

14
对我也是。sudo apt-get install nodejs
Hertzel Guinness 2011年

1
我现在建议将此作为采取的途径。往上看。
迈克尔·杜兰特

1
删除了答案中关于通过Ubuntu软件中心安装节点的说明中的注释,因为该节点不在其中(Ubuntu 12.04)
Michael Durrant 2012年

1
Ubuntu 64给安装therubyracer带来了巨大的麻烦,甚至没有安装最新版本的0.11.1。这个答案帮助了我。
Eduardo

@gwho杨下面有一个答案。看一看。
theTuxRacer 2014年

44

迈克尔(Michael)在2011年12月28日的注释-我将我的接受从(rubytheracer)更改为上述(nodejs),因为therubyracer存在代码大小问题。Heroku现在强烈劝阻它。它将“工作”,但可能存在尺寸/性能问题。

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

gem 'therubyracer'

编译coffeescript和uglifier都需要JavaScript运行时。

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

nb Coffeescript成为3.1+的标准


3
它还用于通过UglifyJS压缩JavaScript。请注意,推荐的执行这些任务的方法是在开发中使用它们rake assets:precompile,然后将资源添加到您的存储库中。在发布时,Rails 3.1实际上不需要在生产环境中使用JavaScript运行时。
whitequark 2011年

1
我已将此标记为答案。这有点毛茸茸,因为这不能立即解决,我也在尝试使用3.0.9和3.0.4的新应用程序,但它们出现了(不同的)错误。最终,我再次做了一个新的应用程序-并附带了rails rc5,并添加了rubytheracer并进行了Bunlde更新,最后我可以启动并运行服务器。谢谢加济尔!
迈克尔·杜兰特

1
顺便说一句,创建的标准Rails应用程序确实使用uglifier,我相信这也需要这样做。
迈克尔·杜兰特

1
我认为可以将好的做法放在开发小组下的gemfile中,例如 group :development do gem 'therubyracer' end
eveevans,2011年

@eveevans无法找到运行时错误。资产是在生产环境中编译的,因此,rururacer必须位于生产环境块下。
lulalala


15

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

希望这可以帮助与我有同样问题的人。


为我做的工作,add-apt-repository ppa:chris-lea / node.js
jpganz18 2013年

@ jpganz18首先尝试:sudo apt-get install software-properties-common 如果仍不能解决问题,则可以手动安装:blog.anantshri.info/howto-add-ppa-in-debian
Robin

6

在Windows平台上,我也遇到了这个问题。

C:\Windows\System32

路径

并重新启动计算机。


3

我在Windows机器上遇到了这个问题,安装node.js是最终对我有用的解决方案。这是在尝试了多种其他途径之后做出的,包括尝试使“ therubyracer”发挥作用。尽管node.js的github建议在Windows上进行安装仍然不稳定,但http://nodejs.org/上的网站却具有运行良好的Windows安装程序。


1

例如,如果您已经从源代码安装了nodejs,而execjs无法识别它,则可能需要尝试以下技巧:https ://coderwall.com/p/hyjdlw


1

如果一切失败,您可以尝试

#aptitude安装nodejs

作为根。您可以使用以下命令测试安装:

#节点-v

如果要安装NPM,请参阅以下链接。希望能帮助到你。



0

安装Javascript运行时

该错误是由本地计算机上缺少Javascript运行时引起的。要解决此问题,您需要安装NodeJS。

您可以通过Node Version Manager或nvm安装NodeJS

首先,安装nvm

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash

通过安装节点 nvm以下方式:

nvm install 5.9.1

这将安装5.9.1Node 版本。


0

我在Redhat服务器上使用Phusion Passenger(作为Nginx模块运行)遇到了这个问题。我们已经安装了Javascript运行时。同一父目录中的其他Rails应用程序运行良好。

原来,我们遇到了权限问题。运行“ ls -l”,查看文件夹是否与系统上其他正在运行的应用程序具有相同的所有者和组。我必须在文件夹上运行chown和chgrp(使用递归开关)来修复它。


0

我希望您已经预安装了nodejs || nmv。

当您已经有nvm时,我的解决方案不需要gem设置或安装带有sudo apt“ node ” 的节点

您只需要编辑RubyMine的DesctopEntry。为此,我们将执行以下小步骤:

  1. usr/share/applications
  2. 在任何编辑器中打开(我使用vim)Rubymine DesktopEntryvim RubyMine
  3. 编辑第6行(从Exec开始)。您应该添加到开始/bin/bash -i -c。所以你的线应该像这样 Exec=/bin/bash -i -c "/home/USERNAME/rubymine/RubyMine-2019.1.2/bin/rubymine.sh" %f
  4. 做完了!你真光荣!

作为一项好处,您的所有环境变量现在都可用于RubyMine。因此,添加它们不会感到痛苦。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.