【解決】ENOTEMPTY: directory not empty|npmのアップデート

※本サイトにはプロモーション・広告が含まれています。

(最終更新月: 2024年5月)

以下のシステムで、npmのバージョンアップを試みたところ、タイトルのとおりエラーとなりました。

✔システム概要

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.4 LTS
Release:	22.04
Codename:	jammy

$ npm -v
10.2.5

✔エラーメッセージ

$ sudo npm install -g npm@10.5.2
[sudo] yulikepython のパスワード: 
npm ERR! code ENOTEMPTY
npm ERR! syscall rename
npm ERR! path /usr/local/lib/node_modules/npm
npm ERR! dest /usr/local/lib/node_modules/.npm-i9nnxROI
npm ERR! errno -39
npm ERR! ENOTEMPTY: directory not empty, rename '/usr/local/lib/node_modules/npm' -> '/usr/local/lib/node_modules/.npm-i9nnxROI'

✔解決方法

ファイル名を書き換えて成功。

もとにファイルには別名をつけて、念の為とっておきましょう。

#もと -> 書き換え
.npm-i9nnxROI -> .npm-i9nnxROI.old
npm -> .npm-i9nnxROI

.oldとしておけば、上手くいかなかったときに戻せば良いだけ。

npmディレクトリが空の状態でコマンドを実行し以下のように成功しました。

$ sudo npm install -g npm@10.5.2

added 1 package, and audited 224 packages in 4s

25 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

以上、当サイトでは、プログラミングやIT職に役立つ情報をたくさん載せています。

YouTubeもぜひご覧ください。

タイトルとURLをコピーしました