使用foreman/heroku facebook app获取rack_env的问题

sto*_*nep 1 facebook ruby-on-rails 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"
Run Code Online (Sandbox Code Playgroud)

跑"工头开始"

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
Run Code Online (Sandbox Code Playgroud)

显然我设置我的fb键完全不正确的env ..如果有人可以帮忙.我已经尝试在根目录中设置.env文件,其中包含

FACEBOOK_APP_ID = 964173273189 FACEBOOK_SECRET = xxx

删除proc文件中的所有内容(我认为它是不正确的)和运行的foreman,默认情况下它不应该在根目录中拾取.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
Run Code Online (Sandbox Code Playgroud)

谢谢

Rya*_*gle 11

我认为问题不在于工头没有找到.env,而是你的语法Procfile不正确.Procfile中的每一行都:应该在命令行上可执行.

Procfile使用以下内容创建您的:

web: bundle exec thin -R config.ru start -p $PORT -e $RACK_ENV
Run Code Online (Sandbox Code Playgroud)

并将您的.env文件设置为:

RACK_ENV=development
FACEBOOK_APP_ID=1234
FACEBOOK_SECRET=xyz
Run Code Online (Sandbox Code Playgroud)

注意RACK_ENVvar需要显式设置,而PORT不是因为Foreman自动设置它.