質問するログイン新規登録
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

解決済

1回答

2489閲覧

node.js で.envファイルが読み込めません!

madamdaama

総合スコア45

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

0クリップ

投稿2022/02/01 08:38

0

0

なぜかnode.jsでenvファイルを読み込めません。

ちゃんと

npm install dotenv

をしたうえで、

node.js

1require('dotenv').config();

とコーディングしているにも関わらず、です。.envファイルもはルートディレクトリに置いています。
nodemailerでGmailにOAuth2.0認証する際に、clientIdやclientSecretなどを.envファイルに格納してからprocess.env.でコーディングしているのですが、これだと認証されません。直にclientIdやclientSecretを記載すると認証されます。

何か根本的な原因があるのでしょうか? よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi-sun

2022/02/01 08:44

うーん、この質問文だと本当にdotenvのライブラリが動いていないのかわからないですね。 これを実行した結果と.envファイルの中身を質問文に追記してください。 console.log(process.env) この時clientSecret等をそのまま記述すると情報漏えいになるので、 先頭と末尾以外の文字を■でマスキングする等の加工を施してください。
miyabi-sun

2022/02/01 08:47

また関係あるかわかりませんが、 例えばWindowsの場合はドット始まりのファイルをエクスプローラから作ると 勝手に`.txt`という拡張子を補ってしまうんですよね。 OS名も記述しておいてくれると助かります。
madamdaama

2022/02/01 09:14

ご返答ありがとうございます。 envファイルの中身は以下のようになっています。 EMAILADDRESS='h●●●●●●●m' EMAILPASSWORD='y●●●●●●●●●●●●●●s' EMAILADDRESS2='j●●●●●●●●●●●●●●●●m' CLIENTID='9●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●m' CLIENT_SECRET='S●●●●●●●●●●●●k' REFRESH_TOKEN='8●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●L' 例えばclientIdだけをprocess.env.CLIENTIDで実行すると、 Error: invalid_request: Could not determine client ID from request. とターミナルに表記されます。 シングルクォーテーションを付けたり外したりをしてみたのですが、結果は同じでした。 また、Windowsを使っていますが、ファイル名は.envではなく●●.envにしています。
miyabi-sun

2022/02/01 09:28

> ファイル名は.envではなく●●.envにしています Linux文化圏の話になりますが、 ドット始まりのファイルは隠しファイルによる設定ファイルになります。 好き勝手な名前を左に付ける事は許されないので、●●の部分を削って実行してみてください。
madamdaama

2022/02/01 09:40

ありがとうございます! ファイル名を削って.envにしたら無事に読み込めました! 厚かましいお願いなのですが、もう一つ質問をアップしていまして、 https://teratail.com/questions/jyj63cyf2jkvxr お手すきの時間にこちらのほうもチェックして頂けるとありがたいです。 よろしくお願いいたします。
guest

回答1

0

自己解決

miyabi-sun

が「質問への追記・修正の依頼」にて教えていただいた方法で無事に解決することができました。
どうもありがとうございました!

投稿2022/02/01 09:45

madamdaama

総合スコア45

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問