Ruby on Rails安装在Ubuntu 12.04上出错

时间:2014-06-27 09:57:04

标签: ruby-on-rails

我使用rvm安装了ruby和rails。

我的ubuntu版本是12.04 ruby版本是ruby 2.1.2p95(2014-05-08修订版45877)[x86_64-linux] rails版本是Rails 4.1.2 rvm版本是rvm 1.25.27(稳定)

安装完成后,我用rails new demo创建一个演示应用程序 现在,当我输入rake关于我得到以下错误

hadoopnode1@hadoopnode1:~/work/demo$ rake about

rake aborted!

ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.

/home/hadoopnode1/.rvm/gems/ruby-2.1.2/gems/execjs-2.2.1/lib/execjs/runtimes.rb:51:in `autodetect'

/home/hadoopnode1/.rvm/gems/ruby-2.1.2/gems/execjs-2.2.1/lib/execjs.rb:5:in `<module:ExecJS>'

/home/hadoopnode1/.rvm/gems/ruby-2.1.2/gems/execjs-2.2.1/lib/execjs.rb:4:in `<top (required)>'

/home/hadoopnode1/.rvm/gems/ruby-2.1.2/gems/uglifier-2.5.1/lib/uglifier.rb:3:in `require'

/home/hadoopnode1/.rvm/gems/ruby-2.1.2/gems/uglifier-2.5.1/lib/uglifier.rb:3:in `<top (required)>'

/home/hadoopnode1/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:76:in `require'

/home/hadoopnode1/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require'

/home/hadoopnode1/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:72:in `each'

/home/hadoopnode1/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:72:in `block in require'

/home/hadoopnode1/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:61:in `each'

/home/hadoopnode1/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:61:in `require'

/home/hadoopnode1/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler.rb:132:in `require'

/home/hadoopnode1/work/demo/config/application.rb:7:in `<top (required)>'

/home/hadoopnode1/work/demo/Rakefile:4:in `<top (required)>'

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

请帮帮我..

4 个答案:

答案 0 :(得分:2)

您需要像nodejs

这样的javascript运行时
sudo apt-get install nodejs

答案 1 :(得分:0)

你需要一个javascript运行时来获取rails中的一些功能。 ExecJS可以使用一些不同的运行时,例如如果在系统范围内安装Node.js,这将有效(参见@ Iceman的回答)。如果您无法安装软件包,那么您只需将以下内容添加到您的Gemfile:

gem 'therubyracer'

答案 2 :(得分:0)

从Rails 3.1开始,Ubuntu Linux上的开发需要一个JavaScript运行时。编译Rails资产管道的代码需要JavaScript运行时。对于Ubuntu Linux上的开发,最好安装Node.js服务器端JavaScript环境:

$ sudo apt-get install nodejs

并将其设置在$ PATH。

如果你没有安装Node.js,你需要将它添加到你构建的每个Rails应用程序的Gemfile中:

gem 'therubyracer'

我的文章Install Ruby on Rails on Ubuntu Linux为在Ubuntu上配置Rails开发环境提供了额外的指导和建议。

答案 3 :(得分:0)

使用您选择的编辑器,打开Gemfile并查找

gem'therubyracer',平台:: ruby​​

删除哈希值,使您的文件如下所示:

gem'therubyracer',平台:: ruby​​

点击保存,你应该好好去。