我成功安装了ruby和rails。 我使用ruby 2.1.0和rails 4.1.0 我的O.S.是ubuntu 12.04
创建新的rails应用程序并设置我尝试的当前目录
启动rails服务器(~/my_app$ rails server
),但它出现以下错误:
*/home/miguel/.rvm/gems/ruby-2.1.0/gems/execjs-2.0.2/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/execjs-2.0.2/lib/execjs.rb:5:in `<module:ExecJS>'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/execjs-2.0.2/lib/execjs.rb:4:in `<top (required)>'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/uglifier-2.5.0/lib/uglifier.rb:3:in `require'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/uglifier-2.5.0/lib/uglifier.rb:3:in `<top (required)>'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:76:in `require'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:72:in `each'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:72:in `block in require'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:61:in `each'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:61:in `require'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/bundler-1.5.1/lib/bundler.rb:131:in `require'
from /home/miguel/my_app/config/application.rb:7:in `<top (required)>'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/railties-4.1.0/lib/rails/commands/commands_tasks.rb:79:in `require'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/railties-4.1.0/lib/rails/commands/commands_tasks.rb:79:in `block in server'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/railties-4.1.0/lib/rails/commands/commands_tasks.rb:76:in `tap'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/railties-4.1.0/lib/rails/commands/commands_tasks.rb:76:in `server'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/railties-4.1.0/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/railties-4.1.0/lib/rails/commands.rb:17:in `<top (required)>'
from /home/miguel/my_app/bin/rails:8:in `require'
from /home/miguel/my_app/bin/rails:8:in `<top (required)>'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/spring-1.1.2/lib/spring/client/rails.rb:27:in `load'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/spring-1.1.2/lib/spring/client/rails.rb:27:in `call'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/spring-1.1.2/lib/spring/client/command.rb:7:in `call'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/spring-1.1.2/lib/spring/client.rb:26:in `run'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/spring-1.1.2/bin/spring:48:in `<top (required)>'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/spring-1.1.2/lib/spring/binstub.rb:11:in `load'
from /home/miguel/.rvm/gems/ruby-2.1.0/gems/spring-1.1.2/lib/spring/binstub.rb:11:in `<top (required)>'
from /home/miguel/my_app/bin/spring:16:in `require'
from /home/miguel/my_app/bin/spring:16:in `<top (required)>'
from bin/rails:3:in `load'
from bin/rails:3:in `<main>'*
且服务器无法运行。
怎么回事?
谢谢
答案 0 :(得分:3)
您需要安装JS运行时
你有几个选择
安装NodeJS sudo apt-get install nodejs
添加到您的gemfile gem 'therubyracer'
答案 1 :(得分:-1)
Rail的asset pipeline使用javascript运行时将coffeescript转换为javascript(以及其他一些错误的任务)。
对于小型/演示项目或不想使用coffeescript的项目,您可以通过添加
来关闭资产管道config.assets.enabled = false
到config/application.rb