1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?の対処法

Posted at

はじめに

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" // ここを追加
  }
}

参考

TypeScriptのissues

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?