2012-03-19 63 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