😃

"npm ERR! path C:\Users\user\AppData\Roaming\npm"と怒られて動かない

に公開

はじめに

Nuxt.jsを導入する際にNode.jsをセットアップしたところ、npmnpxでエラーが発生し、動作しませんでした。今回の記事では、このエラーの解決方法を記録します。おそらくNode周りの共通項としてのエラーの共通項としての対処法となるので書き記します。

エラー内容

以下のエラーが発生しました。

npm ERR! code ENOENT
npm ERR! syscall lstat
npm ERR! path C:\Users\user\AppData\Roaming\npm
npm ERR! errno -4058
npm ERR! enoent ENOENT: no such file or directory, lstat 'C:\Users\user\AppData\Roaming\npm'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\user\AppData\Local\npm-cache\_logs\2023-07-01T12_34_49_764Z-debug-0.log



エラーを見ると、C:\Users\user\AppData\Roaming\npm が見つからないという内容ですね。
user の部分は環境によって異なります。自分のユーザーディレクトリに読み替えてください。

実際に C:\Users\user\AppData\Roaming フォルダを確認したところ、npm フォルダが存在しないことを確認しました。

試してみたこと

エラーコードで調べましたが、明確な解決策が見つからなかったため、以下の対処法を試しました。

  1. Node.jsのバージョン変更
    推奨版の18.16.1を使用していましたが、最新バージョンや古いバージョンに切り替えてみました。

  2. 環境変数(PATH)の確認
    Node.js インストール時に自動で追加される環境変数が正しく設定されているかを確認しました。

  3. ディレクトリの変更
    実行対象のpackage-lock.jsonが存在するか確認し、フォルダを移動して試しました。

  4. VSCodeの再起動
    ネット上で見つけた対処法として試しましたが、効果はありませんでした。

上記を試してみましたが、いずれもエラー解消には至りませんでした。

解決方法

C:\Users\user\AppData\Roaming に"npm"というフォルダを作る

これでした。
無いといわれてるなら作るしかありませんね。
中身は空で大丈夫です。

動作確認

フォルダを作成した後、以下のコマンドを実行したところ、エラーなく進みました。

$ npx create-next-app@latest nextjs-blog --use-npm --example "https://github.com/vercel/next-learn/tree/master/basics/learn-starter"
Need to install the following packages:
  create-next-app@13.4.7
Ok to proceed? (y) y
Creating a new Next.js app in C:\Users\user\Downloads\nextjs-blog.

Downloading files from repo https://github.com/vercel/next-learn/tree/master/basics/learn-starter. This might take a moment.

Installing packages. This might take a couple of minutes.


added 23 packages, and audited 24 packages in 13s

無事に動きました!やったー!🎉

さいごに

本来、このフォルダはNode.jsのインストール時に自動で作成されるはずです。何らかの理由で作成されていない場合は、今回のように手動でフォルダを追加することで一時的に解決できるでしょう。

Discussion