远程服务器上带有`rails s`命令的javascript运行时错误

时间:2013-06-08 22:18:17

标签: ruby-on-rails vps

我只是设置了一个VPS来准备启动Rails应用程序,并且在实际的远程服务器上,我创建了一个新的rails项目来测试,只做rails new blog -d postgresql。然后我尝试使用rails s命令启动服务器并得到以下错误。

.rvm/gems/ruby-1.9.3-p429@anwalt/gems/execjs-1.4.0/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/michael/.rvm/gems/ruby-1.9.3-p429@anwalt/gems/execjs-1.4.0/lib/execjs.rb:5:in `<module:ExecJS>'
    from /home/michael/.rvm/gems/ruby-1.9.3-p429@anwalt/gems/execjs-1.4.0/lib/execjs.rb:4:in `<top (required)>'
    from /home/michael/.rvm/gems/ruby-1.9.3-p429@anwalt/gems/uglifier-2.1.1/lib/uglifier.rb:3:in `require'
    from /home/michael/.rvm/gems/ruby-1.9.3-p429@anwalt/gems/uglifier-2.1.1/lib/uglifier.rb:3:in `<top (required)>'
    from /home/michael/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
    from /home/michael/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
    from /home/michael/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
    from /home/michael/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
    from /home/michael/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
    from /home/michael/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
    from /home/michael/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
    from /home/michael/blogy/config/application.rb:7:in `<top (required)>'
    from /home/michael/.rvm/gems/ruby-1.9.3-p429@anwalt/gems/railties-4.0.0.rc1/lib/rails/commands.rb:78:in `require'
    from /home/michael/.rvm/gems/ruby-1.9.3-p429@anwalt/gems/railties-4.0.0.rc1/lib/rails/commands.rb:78:in `block in <top (required)>'
    from /home/michael/.rvm/gems/ruby-1.9.3-p429@anwalt/gems/railties-4.0.0.rc1/lib/rails/commands.rb:75:in `tap'
    from /home/michael/.rvm/gems/ruby-1.9.3-p429@anwalt/gems/railties-4.0.0.rc1/lib/rails/commands.rb:75:in `<top (required)>'
    from bin/rails:4:in `require'
    from bin/rails:4:in `<main>'

我安装了$ gem install execjs,但仍然遇到了同样的错误(我想我必须要求它)。无论如何,我的问题是,为什么rails s命令不能像在本地机器上那样在VPS上工作,如果没有使用rails s命令怎么办?一旦我启动真正的应用程序(而不是这个虚拟应用程序),我应该启动应用程序。

1 个答案:

答案 0 :(得分:1)

如果您使用的是debian \ ubuntu,请尝试通过node.jsapt-get install nodejs安装sudo apt-get install nodejs