2013-03-14 1 views
41

Я пытаюсь заполнить this tutorial, но столкнулся с проблемой с линией foreman start. Я использую Windows 7, 64-разрядную машину и пытаюсь сделать это в терминале git bash, предоставленном Heroku Toolbelt.Невозможно запустить мастера в учебнике Heroku с использованием Python

Когда я вхожу foreman start я получаю:

sh.exe": /c/Program Files (x86)/Heroku/ruby-1.9.2/bin/foreman: "c:/Program: bad 
interpreter: No such file or directory 

Так что я попытался войти в ЦМД в мерзавца Баш, набрав cmd, а затем с помощью foreman start (по аналогии с a comment on one of the answers to this question предлагает). Это то, что, что произведено:

Bad file descriptor 
c:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/foreman-0.62.0 
/lib/foreman/engine.rb:377:in `read_nonblock' 
c:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/foreman-0.62.0 
/lib/foreman/engine.rb:377:in `block (2 levels) in watch_for_output' 
c:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/foreman-0.62.0 
/lib/foreman/engine.rb:373:in `loop' 
c:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/foreman-0.62.0 
/lib/foreman/engine.rb:373:in `block in watch_for_output' 
21:06:08 web.1 | exited with code 1 
21:06:08 system | sending SIGKILL to all processes 

Я понятия не имею, что второй набор ошибок пытается сказать мне, так как местоположение файла, кажется, утверждают, engine.rb работает от даже не существует на моем компьютере ,

Я рассмотрел другие ответы на подобные проблемы, однако я не получаю подобных ошибок и поэтому не верю, что решение моей проблемы в настоящее время существует.

ответ

70

У меня была эта проблема. Я исправил его, удалив версию 0.62 драгоценного камня мастера и установив 0.61.

gem uninstall foreman 
gem install foreman -v 0.61 
+1

спасибо! работал! – user1167662

+0

однако, не могли бы вы узнать, как я могу сейчас просмотреть страницу? Я попытался перейти к 0.0.0.0 и 0.0.0.0:5000 в моем браузере Chrome, и получил ошибку 108. Я попробовал 'curl 0.0.0.0' и' curl 0.0.0.0: 5000' в отдельном терминале git bash, и те дали мне завиток: (7) не удалось подключиться к хозяину. есть идеи? – user1167662

+0

ОК, мне удалось посетить его после развертывания в герою, но мне все еще интересно, как я могу это увидеть при тестировании с мастером? – user1167662

6

Удаление инструментальной панели heroku и переустановка его на путь, в котором нет пробелов, например C:\heorku\ поможет немного. Кроме того, в настоящий момент установщик windows-серверов heroku ужасно разбит, а не что-то для нас. Чтобы обойти проблему с мастером, вы можете установить переменные среды самостоятельно, используя export VAR=VALUE, а затем запустите приложение, используя все команды, которые вы ввели в свой файл procfile.

Это улучшится в будущем.

+1

Как его удалить? Я не могу найти какие-либо предлагаемые инструкции, но когда я попытался использовать панель управления для «удаления программы» («Herkou 2.35.0»), он сказал, что не может ее удалить и сказал, что это может быть потому, что это был уже удален? – user1167662

+2

Предложение пути не помогло с проблемой «Bad file descriptor». –

11

Да, программа heroku-toolbelt-installer в настоящее время не работает (30 августа 2013 г.). Для окон следующих шагов работали для меня:

  1. деинсталлировать Heroku (через окно 'программу удаление')
  2. установить Heroku https://toolbelt.heroku.com/windows в C: \ Bin \ Heroku, т.е. 'без пробелов'
  3. установить рубин от http://rubyinstaller.org/downloads/
  4. in cmd запустить "gem install foreman -v 0.61". Да, «драгоценный камень установки сменного мастера» установлен v0.63, который не работает для «бригадира старт»
  5. в ЦМД «старт Бригадир» работает на Heroku привет пример из жизни
+1

какую версию Ruby я должен использовать? – swdev

0

Одна вещь, чтобы добавить, что если вы установите Heroku в каталог с пробелами, это также вызовет ошибку при попытке сделать gem install foreman -v 0.61 (в Windows).

Как только я переустановил Heroku в C: \ Heroku вместо C: \ Program Files \ Heroku, тогда я смог выполнить эту работу, используя решение Эрика Speelman's выше.