"bin / rails: нет такого файла или каталога" w / Ruby 2 & Rails 4 на Heroku
при следовании по рельсам 4 бета версия Майкла Хартла Ruby on Rails Tutorial, мое приложение не запускается на Heroku, но работает нормально локально с bundle exec rails server. Проверка heroku logs -t показывает следующую ошибку:
$ 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
Если Я heroku run bash и проверяем
7 ответов:
У меня была эта проблема также с тех пор, как я обновился до rails 4.0.0
выполнить команду
rake rails:update:binвы можете перейти здесь для получения дополнительной информации https://devcenter.heroku.com/articles/rails4
после борьбы с этим немного, я заметил, что мой проект Rails 4 имел
/binкаталог, в отличие от некоторых старых проектов Rails 3, которые я клонировал./binсодержит 3 файлыbundle,railsиrake, но они не добирались до Heroku, потому что у меня былоbinв моем глобальном .это довольно распространенное правило игнорирования, если вы работаете с Git и другими языками (Java и т. д.), чтобы исправить это:
- удалить
binот~/.gitignore- выполнить
bundle install- фиксации свой изменения с
git add .иgit commit -m "Add bin back"- нажмите ваши изменения в Heroku с
git push heroku master
шаги:
bundle config --delete bin# выключите генератор заглушек Bundler
rake rails:update:bin# используйте новые исполняемые файлы Rails 4
git add bin or git add bin -f# добавить bin/ в систему управления версиями
git commit -a -m "you commit message"
git push heroku master
heroku open
у меня была эта проблема, потому что разрешения на мой были
644вместо755. Работаетrake rails:update:binлокально (на Mac/*nix), а затем нажав изменения Исправлена проблема.
У нас не было каталога myapp/bin в нашем приложении rails 4, поэтому мы создали его, а затем скопировали в файл my app/script/rails, а также файлы bundle и rake из-под rvm/ruby/bin, а затем добавили их в РЕПО для git и подтолкнули его к heroku, и все было хорошо.
Я могу подтвердить, работает
rake rails:update:binработает, как сказал @Ryan Taylor.Я думаю, что у меня была эта проблема, потому что я изначально создал это приложение Rails на Windows. Запуск команды выше на Linux решил для меня.
кроме того, при переходе с Windows на Linux для разработки, это хорошая идея, чтобы удалить
Gemfile.lockфайл и запуститьbundle installчтобы сгенерировать его снова без Windows конкретных драгоценных камней, перечисленных там.
У меня была та же проблема, что и у тебя. Проблема заключалась в том, что папка bin никогда не была перемещена в репозиторий heroku.
Я смотрел, я смотрел, а потом снова посмотрел, там не было никакого правила .файл gitignore для папки bin/...
потом, после большой боли и мучений, я понял, что за пару месяцев до этого я создал Глобал .gitignore, который будет игнорировать все папки bin всех моих репозиториев (почему Господь, почему??).
I удалил глобальный .gitignore, и все работало нормально.
Comments