59 votes

"bin/rails : No such file or directory" avec Ruby 2 & Rails 4 sur Heroku

Tout en suivant le programme Rails 4 Bêta version de Michael Hartl Tutoriel Ruby on Rails mon application ne démarre pas sur Heroku, mais fonctionne bien localement avec bundle exec rails server . Vérification de heroku logs -t révèle l'erreur suivante :

$ heroku[web.1]: State changed from crashed to starting
$ heroku[web.1]: Starting process with command `bin/rails server 
-p 33847 -e $RAILS_ENV`
$ app[web.1]: bash: bin/rails: No such file or directory
$ heroku[web.1]: Process exited with status 127
$ heroku[web.1]: State changed from starting to crashed
$ heroku[web.1]: Error R99 (Platform error) -> Failed to launch the 
dyno within 10 seconds
$ heroku[web.1]: Stopping process with SIGKILL

Si je heroku run bash et vérifiez le bin je peux voir qu'il y a no a rails exécutable :

~$ ls bin
erb  gem  irb  node rdoc  ri  ruby  testrb

Qu'est-ce que j'ai fait de mal ? J'ai suivi le tutoriel à la lettre.

0voto

user2697012 Points 21

Nous n'avions pas de répertoire myapp/bin dans notre application rails 4, nous en avons donc créé un, puis nous avons copié le fichier my app/script/rails, ainsi que les fichiers bundle et rake de rvm/ruby/bin, puis nous les avons ajoutés au repo pour git et l'avons poussé vers heroku et tout allait bien.

0voto

tbone Points 500

Sur rails 5.2.6, rake app:update:bin a fonctionné pour moi. Maintenant, le déploiement sur Heroku fonctionne.

-1voto

user4502882 Points 1

Je peux confirmer l'exécution rake rails:update:bin fonctionne, comme l'a dit @Ryan Taylor.

Je pense que j'ai eu ce problème parce que j'ai initialement créé cette application Rails sur Windows. L'exécution de la commande ci-dessus sous Linux a résolu mon problème.

De même, lors du passage de Windows à Linux pour le développement, il est bon de supprimer Gemfile.lock et exécutez bundle install pour le générer à nouveau sans les gemmes spécifiques de Windows qui y sont listées.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X