2012-04-19 67 views
26

我對Heroku很新。Heroku導軌Procfile

我上傳了我的Rails應用程序,以Heroku的,並願與薄,而不是使用WEBrick運行它。按照Heroku’s guide我應該使用web: bundle exec rails server thin -p $PORT -e $RACK_ENV來創建proc文件。不過,我總是得到回覆web:: command not found

我錯過了什麼?

+0

你加薄寶石到你的Gemfile?其實我認爲你甚至需要創建Procfile,如果你只是在瘦服務器上運行它。要以精簡方式運行,只需在gemfile上運行即可。你真的需要一個配置文件,如果你的應用有更多的進程 – 2012-04-19 21:41:03

+0

我有。它的奇怪雖然我不能使用上面的語法創建一個procfile。它jsut總是說網絡:命令未找到 – 2012-04-19 21:47:32

+1

您是否嘗試過安裝本地工頭('gem install foreman')並嘗試運行您的應用程序以模仿Heroku上發生的事情? – 2012-04-19 21:56:51

回答

74

你不應該運行web: bundle exec rails server thin -p $PORT -e $RACK_ENV的命令,而是創建一個名爲Procfile與作爲其內容的新文件。

無論是創建該文件並將其粘貼到使用編輯器,或只是做:

echo "web: bundle exec rails server thin -p \$PORT -e \$RACK_ENV" > Procfile 
+6

您值得拍手。 不要在那裏指定你不應該運行「web:bundle exec rails server thin -p $ PORT -e $ RACK_ENV」的狀態。 感謝 – RedRory 2012-05-05 22:04:22

+0

@RedRory也許如此...但該指南中,「Procfile」這個詞被鏈接到這個[頁碼](https://devcenter.heroku.com/articles/procfile)展示瞭如何設置一個適當的Procfile爲heroku。 – courtsimas 2012-05-23 14:03:49

+3

從你應該創建Procfile的文檔中,還是很不清楚。在根目錄中?從文檔中不會立即明白。我猜測它被埋在那裏,但爲什麼不讓它變得更明顯,只需說:「在你的shell中運行以下命令:...」 – 2012-07-30 01:54:45