Cuidado com Rails 4.0.0-beta1 + binstubs

O Rails 4.0.0-beta1removeu o scriptdiretório e, em vez disso, vem com três comandos próprios em bin:

  • bin/bundle
  • bin/rails
  • bin/rake

Se você executar bundlecom a --binstubsopção, atualmente ele irá sobrescrever os arquivos bin/railse bin/rake. ( Isso ainda é um problema no último bundler v1.3.1, lançado hoje. )

Em vez disso, use bundle exec <cmd>ou gere um binstub caso a caso usando o novo bundle binstubs <gem>comando. Por exemplo rspec:

$ bundle binstubs rspec-rails

rspec
-rails has no executables, but you may want one from a gem it depends on.
railties has
: rails
rspec
-core has: autospec, rspec

$ bundle binstubs rspec
-core

(A documentação para bundle binstubsainda está pendente, mas você pode revisar o método por si mesmo .)

Nota:

Curiosamente, o bundle binstubscomando não verificar para ver se um arquivo w / o mesmo nome já existe no bin. Se tentarmos executar novamente bundle binstubs rspec-core, obteremos:

Skipped autospec and rspec since they already exist.
If you want to overwrite skipped stubs, use --force.