2012-03-19 62 views
1

難以讓我的本地安裝正確。嘗試運行工頭和獲取的問題:問題越來越rack_env與工頭/ heroku Facebook的應用

web: bundle exec thin -R config.ru start -p $PORT -e ${RACK_ENV:-development} 
RACK_ENV:"FACEBOOK_APP_ID=275479742529226" 
RACK_ENV:"FACEBOOK_SECRET=xxx" 

運行「工頭開始」

15:21:21 RACK_ENV.1 | process terminated 
15:21:21 web.1  | started with pid 23406 
15:21:21 system  | sending SIGTERM to all processes 
15:21:21 RACK_ENV.1 | started with pid 23407 
15:21:21 system  | sending SIGTERM to pid 23406 
15:21:21 RACK_ENV.1 | started with pid 23408 
15:21:21 RACK_ENV.1 | /Users/mc/.rvm/gems/ruby- 1.9.2-p290/gems/foreman-   
0.41.0/bin/foreman-runner: line 36: exec: "FACEBOOK_APP_ID=275479742529226": not found 

顯然我設置我的FB鍵完全不正確的ENV ..如果任何人都可以幫幫忙。我試着設置在根目錄的文件.ENV以及,其中包含

FACEBOOK_APP_ID = 964173273189 FACEBOOK_SECRET = XXX

刪除從procfile一切(我認爲這是不正確反正)和運行領班,它不應該在默認情況下取得root中的.env文件嗎?這沒有任何運氣。

5:44:20 web.1  | started with pid 23705 
    15:44:24 web.1  | missing env vars: please set FACEBOOK_APP_ID and FACEBOOK_SECRET   
    with your app credentials 
    15:44:24 web.1  | process terminated 
    15:44:24 system | sending SIGTERM to all processes 

感謝

+0

我能夠通過手工選擇.env手動啓動-e .env來取得一些進展 - 雖然好奇爲什麼這個默認不加載?非常好奇,因爲我認爲工頭在默認情況下在根目錄中查找.env? – stonep 2012-03-19 23:04:13

+1

你應該改變你的FACEBOOK_SECRET--它被認爲是祕密的。 :) – 2012-04-13 18:06:32

+0

@JStarr我刪除它。 – 2012-05-18 04:29:29

回答

11

我不認爲這個問題是,工頭沒有找到.env,那就是你的Procfile的語法不正確。 :之後的Procfile中的每行都應該在命令行上執行。

創建Procfile具有以下內容:

web: bundle exec thin -R config.ru start -p $PORT -e $RACK_ENV 

而且你.env文件設置爲:

RACK_ENV=development 
FACEBOOK_APP_ID=1234 
FACEBOOK_SECRET=xyz 

注意RACK_ENV VAR需要顯式地設置而PORT不會因爲工頭自動設置它。

+1

我從中得到的重要提示是在鍵和'='之間以及值之間不能有空格。 – 2013-07-05 23:04:48