Process.env.VAR_NAME не определено даже после экспорта

У меня возникли проблемы с доступом к переменной среды, которую я создал на сервере Linux. Я настроил переменную на постоянной основе, добавив: export VAR_NAME=value В файл /etc/environment.

Переменная появляется, когда я использую команду printenv, но когда я запускаю сервер с помощью PM2, она не существует при вызове process.env.VAR_NAME.

Я пытался перезапустить машину, перезапустить bash и несколько раз перезапустить сами процессы pm2. Похоже, что какой-то экземпляр чего-то нужно перезапустить, потому что, насколько я понимаю, то, что я написал в файле /etc/environment, выполняется при запуске, поэтому переменная технически не является постоянной, поэтому перезагрузка на самом деле ничего не делает.

Любая информация о том, какой экземпляр необходимо перезапустить, может помочь, или другой способ сделать это полностью хорош.

Редактировать
Вызов process.env в приложении узла не отображается как неопределенный, я вижу все переменные, перечисленные в приложении, но созданной мной переменной там нет. но он указан, когда я звоню с терминала


person Mason    schedule 10.05.2019    source источник
comment
Возможный дубликат переменных process.env не определен даже после экспорта   -  person kht    schedule 10.05.2019
comment
возможно, посмотрите github.com/Unitech/pm2/issues/867   -  person 王仁宏    schedule 10.05.2019


Ответы (1)


Я считаю, что вы ищете этот пакет. https://www.npmjs.com/package/dotenv

Пакет dotenv позволяет вам создать файл в корне вашего проекта под названием «.env», вы можете добавить переменные среды для вашего процесса в этот файл.

Вы можете узнать больше об этом из этого руководства https://www.twilio.com/blog/working-with-environment-variables-in-node-js-html

Я не верю, что вы можете «экспортировать» переменные в свой терминал и отображать их в объекте process.env.

person Travis Delly    schedule 10.05.2019