Erro de sintaxe ao iniciar o servidor Rails, o RVM pode ser o problema?

1

Estou recebendo o seguinte erro ao tentar iniciar meu aplicativo Rails em produção pela primeira vez:

/var/www/railsapp/config/initializers/session_store.rb:3: syntax error, unexpected ':', expecting $end ...sion_store :cookie_store, key: '_intranet_session' ^

Eu li que isso poderia ser um problema com a versão atual do ruby, então eu instalei o RVM e atualizei a versão em execução.

**root@rails ~#** ruby -v
ruby 1.8.7 (2010-04-19 patchlevel 253) [i686-linux], MBARI 0x8770, Ruby Enterprise Edition 2010.02
**root@rails ~#** rvm use 1.9.3
Using /usr/local/rvm/gems/ruby-1.9.3-p125
**root@rails ~#** ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [i686-linux]

Noto que a versão de produção do Ruby é 1.9.3p125, mas a versão de desenvolvimento é 1.9.3p0, não tenho certeza se isso é importante.

Eu verifiquei duas vezes se a versão do Rails era a correta:

**root@rails www/railsapp#** rails -v
Rails 3.1.4

Eu achei que valeria a pena reiniciar o servidor e, em seguida, o aplicativo apenas para risos, mas isso também não ajudou.

Ao ler algumas outras questões, notei que, se o RVM não fosse instalado, a execução do 'rvm list known' falharia, então testei:

**root@rails www/railsapp#** rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-p358]
[ruby-]1.8.7-head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2-p180
[ruby-]1.9.2-p290
[ruby-]1.9.2[-p318]
[ruby-]1.9.2-head
[ruby-]1.9.3-preview1
[ruby-]1.9.3-rc1
[ruby-]1.9.3-p0
[ruby-]1.9.3[-p125]
[ruby-]1.9.3-head
ruby-head

# GoRuby
goruby

# TheCodeShop - MRI experimental patches
tcs

# JRuby
jruby-1.2.0
jruby-1.3.1
jruby-1.4.0
jruby-1.6.5
/usr/local/rvm/config/known

Se ajudar, estou executando o aplicativo Turnkey Linux Rails (TurnKey Linux 11.3 / Ubuntu 10.04 Lucid LTS).

Estou em um beco sem saída do que tentar, e conselhos seriam muito apreciados!

    
por dannymcc 09.03.2012 / 21:50

2 respostas

1

O problema está no ambiente do sistema.

O que todos não conseguiram perguntar (inclusive eu) foi ver os logs de erro completos. Ao fazer isso, ele estava usando o Passenger e estava carregando a gema de 1,8.

Mais investigações mostram que o RVM estava carregando como uma instalação de todo o sistema. Então, configurando 1.9.3 como o padrão do sistema e, em seguida, reinstalar a gem passageiro, em seguida, instalar o módulo apache2, em seguida, atualizar as configurações do Apache corrigiu o problema.

Esta caixa é dedicada para esse aplicativo, a correção acima não deve ser um problema. Se você acabar executando mais aplicativos rails e precisar de ambientes mais bem definidos, leia este link . Isso permitirá que você crie um gemset para cada aplicativo. Não tenho certeza de como ele funcionará com versões diferentes do ruby, já que o passageiro ainda terá que ser carregado a partir de uma única instalação do ruby, mas poderá executar os scripts como uma versão diferente do ruby?

    
por 11.03.2012 / 19:04
0

Acho que você tem um erro de sintaxe no seu session_store.rb.

Veja o exemplo aqui .

Então, você provavelmente quer algo assim em vez do que você tem:

Intranet::Application.config.session_store :cookie_store, :key => '_intranet_session'
    
por 10.03.2012 / 12:43