我使用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)
请帮帮我..
答案 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
点击保存,你应该好好去。