.env
ローカル(pm2 なし)でファイル内のすべての環境変数が . を使用して正常に動作するアプリケーションがありますdotenv
。
しかし、アプリを実行するために使用しているサーバーではpm2
、環境変数はそのまま残りますundefined
。
サーバー上でアプリを実行するために使用している pm2 コマンドは次のとおりです。
pm2 start myapp/app.js
pm2 startup
pm2 save
ベストアンサー1
dotenv
.env
現在のディレクトリにあるファイルを読み取ります。
呼び出してもpm2 start myapp/app.js
検索されませんmyapp/.env
。
.env // It will try to load this, which doesn't exist
myapp/
app.js
つまり、2つの解決策がある
オプションを使用path
:
const path = require('path');
require('dotenv').config({ path: path.join(__dirname, '.env') });
または内部からスクリプトを呼び出すmyapp/
pm2 start app.js