rails服务器没有启动

时间:2014-04-17 21:11:34

标签: ruby-on-rails ruby

我成功安装了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>'*

且服务器无法运行。

怎么回事?

谢谢

2 个答案:

答案 0 :(得分:3)

您需要安装JS运行时

你有几个选择

  1. 安装NodeJS sudo apt-get install nodejs

  2. 添加到您的gemfile gem 'therubyracer'

  3. therubyracer

答案 1 :(得分:-1)

Rail的asset pipeline使用javascript运行时将coffeescript转换为javascript(以及其他一些错误的任务)。

对于小型/演示项目或不想使用coffeescript的项目,您可以通过添加

来关闭资产管道
config.assets.enabled = false

config/application.rb