/ / foremanでrack_envを取得する問題/ heroku facebookアプリ-ruby-on-rails、facebook、heroku、foreman

foreman / herokuのfacebook appを使ってrack_envを取得する問題 - ruby​​-on-rails、facebook、heroku、foreman

ローカル設定を適切に取得するのに苦労しています。フォアマンを実行しようとして問題が発生する:

 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

どうやらenvのfbキーを完全に間違って設定しています。誰かが助けてくれれば。

FACEBOOK_APP_ID = 964173273189 FACEBOOK_SECRET = xxx

procfileからすべてを削除し(とにかく間違っていると思います)、フォアマンを実行すると、デフォルトでルートの.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

ありがとう

回答:

回答№1の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 Foremanが自動的に設定するためです。