/usr/bin/env: ruby.exe: нет такого файла или каталога

Я новичок в Rails и следую этому уроку о том, как создавать приложения на Rails. Я не могу заставить базу данных перейти на мои приложения heroku.

В настоящее время я нахожусь в начале главы 3, пытаясь настроить приложение для использования в оставшейся части курса.

Я отлично следовал этому уроку, и на данный момент я уже создал два приложения, развернул их на heroku и перенес данные просто отлично, но в третий раз это не работает.

Мне удалось создать страницу heroku и добавить приложение к ней, но я просто не могу перенести данные.

Я набрал:

heroku run rake db:migrate

и получил эту ошибку:

/usr/bin/env: ruby.exe: No such file or directory.

Я предполагаю, что это означает, что он ищет файл в этом каталоге и не находит его. Как я могу изменить, где это выглядит?

Я проверил " windows heroku run rake db: migrate error" /usr/bin/env: ruby.exe: нет такого файла или каталога "" и сделал то, что рекомендовали ответы, то есть изменил "ruby.exe" на "ruby" в bin/bundle, bin/rails и bin/rake, но это не сработало.

Любые другие советы? Я застрял на этом в течение нескольких часов. Огромное спасибо заранее.

3 ответа

У меня была похожая проблема в хранилище, которое я перенес из окон.

Оказывается, что несколько сценариев в каталоге bin приложения все еще имели строки shebang (#!/usr/bin/env ruby.exe) чтобы ruby.exe вместо ruby, Как только я исправил эти скрипты, проблема ушла.

Команда обычно heroku run rake db:migrate, Вы должны попробовать это вместо heroku run rails db:migrate,

Удостоверьтесь, что вы загрузили ваше приложение в heroku. Когда он нажимает на heroku, убедитесь, что он также обнаружен как приложение rails. Вполне возможно, что heroku не обнаруживает приложение rails, поэтому в среде, в которой оно установлено, не установлено ruby. Но это может быть просто ошибка в имени команды (rails вместо rake).

На вашем локальном компьютере разработчика, прежде чем совершать git (а затем отправлять в Heroku), попробуйте изменить окончание строки на конец строки Unix (а не на конец строки Windows). На машине *nix вы бы сделали это, запустив dos2unix myfile.rb

Если конец строки неправильный, Linux, загруженный на Heroku, будет искать ruby^M и не для rubyи, конечно, не найдет его и выдаст это точное сообщение об ошибке.

Другие вопросы по тегам