在安装Rails的时候,bundle install会引发语法错误

我试图部署一个Rails应用程序的乘客。

运行软件包时:

[ps93785]$ /usr/lib/ruby/gems/1.8/bin//bundle install 

我得到这个:

 Gemfile syntax error: /home/djwyatt/supplies.mighty-wash.com/public/Gemfile:33: syntax error, unexpected ':', expecting kEND gem 'sdoc', require: false 

编辑1这是行31-34如果gem文件:

 group :doc do # bundle exec rake doc:rails generates the API under doc/api. gem 'sdoc', require: false end 

这在我的本地环境中工作得很好,不知道为什么会给我的VPS带来问题?

编辑2 (我正在开发Ruby 2.0,我的VPS是1.8)

这是我尝试升级时遇到的问题:

 [ps93785]$ rvm upgrade 2.0 The source ruby was not a valid ruby string. 

1.9.3也不起作用

编辑3 (这工作) rvm use 2.0然后bundle install worked fantastic 。 现在有一个新的问题 – 转储如下:

 [ps93785]$ rake about rake aborted! Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. /home/djwyatt/.rvm/gems/ruby-2.0.0-p247/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in `autodetect' /home/djwyatt/.rvm/gems/ruby-2.0.0-p247/gems/execjs-1.4.0/lib/execjs.rb:5:in `<module:ExecJS>' /home/djwyatt/.rvm/gems/ruby-2.0.0-p247/gems/execjs-1.4.0/lib/execjs.rb:4:in `<top (required)>' /home/djwyatt/.rvm/gems/ruby-2.0.0-p247/gems/uglifier-2.1.2/lib/uglifier.rb:3:in `require' /home/djwyatt/.rvm/gems/ruby-2.0.0-p247/gems/uglifier-2.1.2/lib/uglifier.rb:3:in `<top (required)>' /home/djwyatt/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require' /home/djwyatt/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require' /home/djwyatt/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each' /home/djwyatt/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require' /home/djwyatt/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each' /home/djwyatt/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require' /home/djwyatt/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler.rb:132:in `require' /home/djwyatt/supplies.mighty-wash.com/public/config/application.rb:7:in `<top (required)>' /home/djwyatt/supplies.mighty-wash.com/public/Rakefile:4:in `require' /home/djwyatt/supplies.mighty-wash.com/public/Rakefile:4:in `<top (required)>' /home/djwyatt/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper:14:in `eval' /home/djwyatt/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper:14:in `<main>' (See full trace by running task with --trace) 

首先,您需要在Gemfile中使用ruby 1.8语法:

 group :doc do gem 'sdoc', :require => false end 

其次,我不确定最近的Passenger版本是否会支持Ruby 1.8。 即使这样,你也应该升级到至lessruby-1.9.3。