npm実行時にエラー「EACCES: permission denied, unlink ‘/root/.npm/_npx’」が発生した場合の対処法

npm実行時にエラー「EACCES: permission denied, unlink ‘/root/.npm/_npx’」が発生した場合の対処法

npm install -g実行時にエラー「EACCES: permission denied, unlink ‘/root/.npm/_npx’」が発生した場合の原因と対処法を記述してます。

環境

  • OS  CentOS Linux release 8.0.1905 (Core)
  • node V12.18.0
  • npm 6.14.4

エラー全文

「sudo npm install」実行時に発生。rootで実行しても、同じエラーとなりました。

sudo npm install pm2-gui -g

<出力結果>
npm WARN deprecated jade@1.11.0: Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated constantinople@3.0.2: Please update to at least constantinople 3.1.1
npm WARN deprecated transformers@2.1.0: Deprecated, use jstransformer
npm WARN deprecated json3@3.2.6: Please use the native JSON object instead of JSON 3
npm WARN deprecated json3@3.3.2: Please use the native JSON object instead of JSON 3
/usr/bin/pm2-gui -> /usr/lib/node_modules/pm2-gui/pm2-gui

> command-join@2.0.1 postinstall /usr/lib/node_modules/pm2-gui/node_modules/command-join
> npx -p @seangenabe/tnx tnx || exit 0

EACCES: permission denied, unlink '/root/.npm/_npx/24196/bin'
/usr/lib/node_modules/npm/node_modules/rimraf/rimraf.js:321
        throw er
        ^

Error: EACCES: permission denied, unlink '/root/.npm/_npx/24196'
    at Object.unlinkSync (fs.js:956:3)
    at Function.rimrafSync [as sync] (/usr/lib/node_modules/npm/node_modules/rimraf/rimraf.js:314:17)
    at process.on (/usr/lib/node_modules/npm/node_modules/libnpx/index.js:151:37)
    at process.emit (events.js:198:13)
+ pm2-gui@0.1.4

原因

「/root/.npm/」の権限の問題。

対処法

「/root/.npm/」の権限を変更すると、問題なくインストールが完了しました。

sudo chmod 777 /root/.npm/_npx