Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8691

dotenvが効かないundefined/.env見つからない

$
0
0
結論 パスが間違っている可能性が高い。 前提 Nodejsを活用し、環境変数を取得する際には、 dotenvを使用すると良い。 // app.js require('dotenv').config(); const env = process.env; console.log(env.USERNAME); // .env USERNAME=hogehoge しかし、上記のように実施したとして、しか表示されない場合、 何がおかしいのか悩む。 > node ./src/app.js undefined デバッグ require('dotenv').config(); console.log(require('dotenv').config()); console.log(process.env.USERNAME); requireしているところをconsole.log()でくくるとエラーが出る。 error: Error: ENOENT: no such file or directory, open '/Users/~ディレクトリ階層~/プロジェクト名/.env' プロジェクトのトップに.envファイルがありませんということ。 修正前(./src/.env) ❯ tree -L 2 -a . ├── LICENSE ├── README.md ├── package.json ├── src │ ├── .env │ ├── app.js │ └── memo └── yarn.lock 修正後(./.env) ❯ tree -L 2 -a . ├── LICENSE ├── README.md ├── package.json ├── .env ├── src │ ├── .env │ ├── app.js │ └── memo └── yarn.lock 言い訳 vscode上で作業をしているとき、 ファイルをコマンドでなく、GUIでババっと作った。 そうした際に、.envはルートディレクトリに作るという無意識が働いてしまっていた。 なので、ルートディレクトリにある前提でいろいろな確認作業をしてしまい、 わからなくなった。 今回のことで、デバッグ手法が一つわかったのでとても勉強になった。 参考 How do I setup the dotenv file in Node.js?

Viewing all articles
Browse latest Browse all 8691

Trending Articles