(最終更新月: 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もぜひご覧ください。