【问题标题】:issue getting rack_env with foreman / heroku facebook app使用工头 / heroku facebook 应用程序获取 rack_env 的问题
【发布时间】:2012-03-19 22:26:23
【问题描述】:

很难正确设置我的本地设置。尝试运行工头并遇到问题:

 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 文件,其中包含

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

谢谢

【问题讨论】:

  • 我能够通过工头 start -e .env 手动选择 .env 来取得一些进展——尽管很好奇为什么默认情况下不加载?非常好奇,因为我认为工头默认在根目录中查找 .env?
  • 您应该更改您的 FACEBOOK_SECRET - 它应该是秘密的。 :)

标签: ruby-on-rails facebook heroku foreman


【解决方案1】:

我认为问题不是工头没有找到.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 会自动设置它。

【讨论】:

  • 我从中得到的重要提示是,键和 '=' 和值之间不能有空格。
猜你喜欢
  • 2015-03-09
  • 2012-12-30
  • 2013-08-05
  • 2016-01-18
  • 1970-01-01
  • 2011-06-27
  • 1970-01-01
  • 2021-08-09
  • 2014-11-23
相关资源
最近更新 更多