rake db:create - 找不到JavaScript运行时

时间:2012-01-29 22:47:29

标签: javascript ruby-on-rails ruby rake

这是我得到的错误:

sergio@sergio-VirtualBox:~/blog$ rake db:create
rake aborted!
Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.

(See full trace by running task with --trace)

sergio@sergio-VirtualBox:~/blog$ 

所以经过一些搜索后,似乎我需要为Ruby安装一个Javascript运行时。

许多不同选项之间有区别吗?似乎Node.js是最容易安装的,这会回来咬我还是这个选择好吗?

answer,似乎是我正在寻找的,但我不知道如何使用它。我在哪里可以找到这个“gemfile”,它是每个rails项目文件还是全局ruby文件?我很困惑,似乎无法得到我的方向和多个答案相互矛盾,并没有解决问题。

  

将此添加到您的Gemfile

     

gem'therubyracer',要求:“v8”

     

并运行

     

捆绑安装

6 个答案:

答案 0 :(得分:53)

Ruby本身不需要JS运行时,但是默认的新Rails应用程序可以。

主应用程序目录中有一个名为Gemfile的文件(即每个Rails项目),这是您可以使用bundle install安装的项目所需的宝石列表。

添加行gem 'therubyracer'然后bundle install将安装ruby racer JS运行时,如果您使用的是64位操作系统,我发现它是最简单的。

您可以在Bundler网站上找到有关Gemfile的更多信息。

答案 1 :(得分:6)

你在计算机上安装了Node.js了吗?它也需要安装在您的计算机上。

这是下载链接,http://nodejs.org/#download

答案 2 :(得分:1)

有几个相当类似的选项,如rubytheracer,node和execjs。

由于代码大小,rubytheracer已经失宠了。 Heroku(铁路)等供应商积极劝阻它。

我目前推荐使用node.js

Rails - Could not find a JavaScript runtime?

的更多信息

答案 3 :(得分:0)

在Gemfile中以新行插入gem'therubyracer' 1.运行

gem install therubyracer -v'0.11.4'

  1. 运行
  2. 捆绑安装

    这将有效

答案 4 :(得分:0)

我遇到了同样的错误,但后来我重新安装了带有所有复选框的Ruby193(Tc / Tk,关联rb,并添加到PATH)。

然后删除了GEMFile.lock

编辑Gemfile,无论我看到gem gemubyracer,我都将其更改为:gem therubyracer,:platform => :红宝石

  • 然后bundle install

  • 然后rake db:drop

  • 然后rake db:create

  • 然后rake db:migrate

等等

答案 5 :(得分:-1)

只需gem install "therubyracer",它就可以了。