проблема с получениемack_env с приложением foreman/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 (что я считаю неправильным в любом случае) и запуск мастера, не должен ли он по умолчанию подхватывать файл .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

Спасибо


person stonep    schedule 19.03.2012    source источник
comment
Мне удалось добиться некоторого прогресса, выбрав .env вручную с помощью команды start -e .env — хотя любопытно, почему это не загружается по умолчанию? крайне любопытно, как я думал, бригадир по умолчанию ищет .env в корне?   -  person stonep    schedule 20.03.2012
comment
Вы должны изменить свой FACEBOOK_SECRET — он должен быть секретным. :)   -  person J Starr    schedule 13.04.2012


Ответы (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 должна быть установлена ​​явно, а PORT — нет, поскольку Foreman устанавливает ее автоматически.

person Ryan Daigle    schedule 18.04.2012
comment
Важный совет, который я получил из этого, заключался в том, что между ключом и '=' и значением не должно быть пробелов. - person Dave Sag; 06.07.2013