はじめに
node.jsでTypeScriptを使っていたので、dotenvを使用して環境変数を読み込もうとしたときに、表題のエラーが出ました。
調べてもぱっとすぐに日本語の記事が出てこなかったため、備忘録も兼ねてここに残しておきます。
解決方法
tsconfig.jsonのcompilerOptionに下記設定を追加
{
"compilerOptions": {
// 他の設定
"moduleResolution": "node"
}
}
エラーの原因
tsconfig.jsonの設定でtargetを以降を設定している場合、moduleResolutionがデフォルトでnodeに設定されていないことが原因だったようです。
そのため、明示的にmoduleResolutionにnodeを設定してあげることで解決することができました。
エラーが発生したときのtsconfig.jsonはざっくり下記のような感じ
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true,
}
}
下記のような感じに修正することでエラー解消
{
"compilerOptions": {
"target": "ESNext",
/* Modules */
"module": "ESNext",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
/* Type Checking */
"strict": true,
"skipLibCheck": true,
"moduleResolution": "node" // ここを追加
}
}