Консоль Rails не запускается после использования / usr / bin / env для загрузки переменных среды - PullRequest
0 голосов
/ 16 января 2020

Мое приложение RoR не загружается должным образом, и первая ошибка возникает при загрузке переменных среды .env файл.

скрипт выполняется прямо и (должен) загрузить .env для запуска консоли rails :

basedir=/home/mapaapp/mapaapp/
cd $basedir/current
env $(cat $basedir/shared/.env | xargs) rails c
cd -

Я получил два ответа при загрузке скрипта: cat: /shared/.env: No such file or directory, даже зная, что в этом каталоге есть файл .env и env: #: No such file or directory, который, как я считаю, относится к / usr / bin / env, который также существует.

это приложение работает:

  • Ubuntu 15.10 (GNU / Linux 4.2.0-42-generi * c x86_64)
  • Рельсы 4.2.1
  • ruby 2.2.2p95
  • nginx 1.9.3
  • Пума 2.15.3

любая идея что может помешать запуску rails c? Если потребуется дополнительная информация, я с радостью предоставлю.

1 Ответ

0 голосов
/ 16 января 2020

Я думаю, что первое, что я хотел бы попробовать, это использовать строку для вашего пути (более безопасный) и вызвать исполняемый файл env, используя его полный путь, поскольку сценарии bash запускаются в подоболочках, возможно, команда env не в переменной $ PATH:

basedir="/home/mapaapp/mapaapp/"
cd "$basedir/current"
/usr/bin/env $(cat "$basedir/shared/.env" | xargs) rails c
cd -

И, похоже, сейчас вы не передаете команду xargs, имея команду в следующем формате:

$(echo 1)

Средства для выполнения введите команду в круглых скобках в подоболочке и верните результат. Поэтому я мог бы присвоить значение 1 переменной следующим образом:

a=$(echo 1)

Поэтому я бы попытался изменить строку, чтобы убедиться, что используются аргументы в файле .env:

/usr/bin/env $(cat "$basedir/shared/.env") | xargs rails c
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...