rake abortado! variável ou método local indefinido

0

Em uma nova máquina Ubuntu, eu instalei o ruby com

sudo apt-get install ruby1.8

e, em seguida, instalou o rubygem1.8 com:

sudo apt-get install rubygems

e depois disso instalou o rails3.2.8 com:

gem install rails

O procedimento foi muito simples. Mas aí vem o problema. Quando tentei verificar a versão do rake com rake --trace -version , recebi o seguinte erro:

rake aborted!
undefined local variable or method 'rsion' for #<Rake::Application:0xb72c731c>
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:316:in 'standard_rake_options'
/usr/lib/ruby/1.8/optparse.rb:1298:in 'eval'
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:316:in 'standard_rake_options'
/usr/lib/ruby/1.8/optparse.rb:1298:in 'call'
/usr/lib/ruby/1.8/optparse.rb:1298:in 'parse_in_order'
/usr/lib/ruby/1.8/optparse.rb:1254:in 'catch'
/usr/lib/ruby/1.8/optparse.rb:1254:in 'parse_in_order'
/usr/lib/ruby/1.8/optparse.rb:1248:in 'order!'
/usr/lib/ruby/1.8/optparse.rb:1339:in 'permute!'
/usr/lib/ruby/1.8/optparse.rb:1360:in 'parse!'
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:425:in 'handle_options'
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:74:in 'init'
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in 'standard_exception_handling'
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:72:in 'init'
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:64:in 'run'
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in 'standard_exception_handling'
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:63:in 'run'
/var/lib/gems/1.8/gems/rake-0.9.2.2/bin/rake:33
/usr/local/bin/rake:19:in 'load'
/usr/local/bin/rake:19

É o problema devido a ter instalado diretamente do gerenciador de pacotes ubuntu apt-get?

    
por Subhransu Mishra 08.11.2012 / 11:31

1 resposta

1

rake --version produzirá a versão do rake que você instalou. Ou no estilo curto: rake -V . Veja a documentação do rake (leia abaixo como fazer isso).

Você usou um único traço na frente de um comando de estilo longo. Se você usar um único traço, todas as letras a seguir serão tratadas como opções de linha de comando individuais .

Por exemplo, rake -h mostrará uma lista de possíveis opções de linha de comando e O rake -Vvt imprime a versão do rake, ativa o registro de mensagens na saída padrão e ativa o rastreio com backtrace completo. Isso significa que as opções combinadas de estilo curto -V, -v e -t são passadas para o programa. No seu caso, você tentou executar o rake com as opções -v, -e, -r, -s, -i, -o e -n. Isso funcionou para -v (verbose) e -e (execute code), mas não foi possível encontrar rsion. O rake --Vvt procuraria por uma opção com o nome Vvt e rake --version procuraria por uma opção com a versão do nome.

Esteja ciente de que tudo isso é uma convenção, cabe ao programador obedecer a estes ou à rede. Para obter uma lista de todas as opções de linha de comando documentadas do seu programa use man programm para a página de manual e programm -h ou programm --help para uma documentação curta, substitua "programm" por, por exemplo, rake, para ver o opções para rake.

    
por mrcktz 08.11.2012 / 12:41