Qual é a diferença entre: rails vs. bin/rails?
rails generate...
e
bin/rails generate...
? Eles parecem comportar-se da mesma forma quando executo esses comandos no console. Há também rake e bin/rake... e muito mais provavelmente. Obrigado pela ajuda.
Saudações2 answers
Se você apenas executar 'rails', RubyGems irá ativar a última versão do executável rails que pode encontrar no caminho. Isto é bom, desde que você use esta versão de trilhos em seu projeto. Se você tem um projeto que usa uma versão mais antiga de trilhos e você executa 'trilhos', você pode se deparar com problemas ao tentar executar o código que foi alterado na versão mais recente de trilhos. Os Binstubs corrigem este problema certificando-se de que o seu ambiente utiliza as versões especificadas no ficheiro Gemfile do seu projecto.
Considere este cenário:
Eu tinha um aplicativo que usava Rails versão 4.0.0. Meu objetivo era atualizá-lo para Rails 4.1.9. Para isso, eu tentei atualizá-lo passo a passo: primeiro, atualizando para 4.0.13, depois 4.1 e finalmente 4.1.9. Correu tudo bem. Todos os testes foram aprovados usando RSpec. Finalmente, tentei executar o meu servidor com orails s
. Booom! A Ruby despenhou-se.
Então, eu usei bin/rails s
. Correu tudo bem.
Então acho que se tiver uma versão diferente de Carris configure no seu sistema, é mais seguro usar a opção bin/rails
.
P. S. para ter a certeza de que a minha suposição está correcta, removi toda a versão dos carris excepto 4.1.9 e depois tentei repetir o servidor com {[[0]}. Desta vez não há queda.
Espero que isto esclareça.