erro de sintaxe de ativação do pacote configurável ao configurar o Rails

1

Estou tentando implantar um aplicativo rails no Passenger.

Ao executar um pacote:

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

Eu entendo isso:

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

editar 1 Estas são as linhas 31-34, se o arquivo gem:

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

Isso funcionou totalmente bem no meu ambiente local, alguma ideia de por que isso estaria me causando problemas no meu VPS?

Editar 2 (Eu estava desenvolvendo no Ruby 2.0, meu VPS está no 1.8)

Aqui está o problema que estou enfrentando ao tentar atualizar:

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

1.9.3 também não funciona

Editar 3 (isso funcionou) %código% então rvm use 2.0 . Agora há um novo problema: descarte abaixo:

[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)
    
por drewwyatt 12.08.2013 / 23:53

1 resposta

3

Primeiro, você precisa usar a sintaxe do ruby 1.8 no seu Gemfile:

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

Segundo, não tenho certeza se versões recentes do Passenger suportarão o Ruby 1.8. Mesmo se isso acontecer, você deve atualizar para pelo menos ruby-1.9.3.

    
por 13.08.2013 / 00:21