ITのえんぴつ

Google Blockly開発者ツールやIT・プログラミングを研究して発信するブログ

「npm uninstall -g npm」で、エラーになった場合の対処法は?(権限版)

npmのアンインストールで「npm uninstall -g npm」を実行した時、長文のエラーが出て、どう対処すればよいのか混乱したので、対処法を記載します。

要約

権限エラー(コマンドを実行する権限がない)の場合は、sudoコマンドを追加して、実行します。

修正前:「npm uninstall -g npm」

修正後:「sudo npm uninstall -g npm」

環境

macOS Big Sur バージョン 11.4

Visual Studio Code 1.71.0

解説

原因

  • 一部抜粋

    • 日本語

      npm エラー!現在のユーザーとしてこのファイルにアクセスする権限がない可能性があります
      
    • 英語

      npm ERR! It is likely you do not have the permissions to access this file as the current user
      
  • つまり

    管理者権限がないとアクセスできない操作を行おうとしているため。

対処法

  • 一部抜粋

    • 日本語

      npm エラー!これが権限の問題である可能性があると思われる場合は、
      npm エラー!ファイルとそれに含まれるディレクトリの権限を確認するか、実行してみてください
      npm エラー! root/管理者として再度コマンドを実行します。
      
    • 英語

      npm ERR! If you believe this might be a permissions issue, please double-check the
      npm ERR! permissions of the file and its containing directories, or try running
      npm ERR! the command again as root/Administrator.
      
  • つまり

    管理者権限でコマンドを実行できるsudoコマンドを先頭に追加して、再度npmコマンドのアンインストールを実行します。

まとめ

npm のアンインストール手順について、 「npm uninstall -g npm」 を実行したときに、権限エラー(コマンドを実行する権限がない)が出た場合の対処法を記載しました。    

原因は、管理者権限がないとアクセスできない操作を行おうとしているためです。
対処法は、sudoコマンドを先頭に追加して、npmコマンドのアンインストールを実行することです。

 

修正前:「npm uninstall -g npm」

修正後:「sudo npm uninstall -g npm」

 

補足

参考までに、長~いエラー全文を記載。

  • 日本語

    npm エラー!コード EACCES
    npm エラー!システムコールの名前変更
    npm エラー!パス /usr/local/lib/node_modules/npm
    npm エラー! dest /usr/local/lib/node_modules/.npm-i9nnxROI
    npm エラー!エラー番号 -13
    npm エラー!エラー: EACCES: 許可が拒否されました。名前を '/usr/local/lib/node_modules/npm' -> '/usr/local/lib/node_modules/.npm-i9nnxROI' に変更してください
    npm エラー! [エラー: EACCES: 許可が拒否されました。'/usr/local/lib/node_modules/npm' の名前を変更します -> '/usr/local/lib/node_modules/.npm-i9nnxROI'] {
    npm エラー!エラー番号: -13,
    npm エラー!コード: 'EACCES',
    npm エラー!システムコール: '名前を変更',
    npm エラー!パス: '/usr/local/lib/node_modules/npm',
    npm エラー! dest: '/usr/local/lib/node_modules/.npm-i9nnxROI'
    npm エラー! }
    npm エラー!
    npm エラー!操作はオペレーティング システムによって拒否されました。
    npm エラー!現在のユーザーとしてこのファイルにアクセスする権限がない可能性があります
    npm エラー!
    npm エラー!これが権限の問題である可能性があると思われる場合は、
    npm エラー!ファイルとそれに含まれるディレクトリの権限を確認するか、実行してみてください
    npm エラー! root/管理者として再度コマンドを実行します。
    
    npm エラー!この実行の完全なログは、次の場所にあります。 
    npm エラー! /Users/user/.npm/_logs/2022-09-08T02_55_55_245Z-debug-0.log
    
  • 英語

    npm ERR! code EACCES
    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 -13
    npm ERR! Error: EACCES: permission denied, rename '/usr/local/lib/node_modules/npm' -> '/usr/local/lib/node_modules/.npm-i9nnxROI'
    npm ERR!  [Error: EACCES: permission denied, rename '/usr/local/lib/node_modules/npm' -> '/usr/local/lib/node_modules/.npm-i9nnxROI'] {
    npm ERR!   errno: -13,
    npm ERR!   code: 'EACCES',
    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! }
    npm ERR! 
    npm ERR! The operation was rejected by your operating system.
    npm ERR! It is likely you do not have the permissions to access this file as the current user
    npm ERR! 
    npm ERR! If you believe this might be a permissions issue, please double-check the
    npm ERR! permissions of the file and its containing directories, or try running
    npm ERR! the command again as root/Administrator.
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /Users/user/.npm/_logs/2022-09-08T02_55_43_026Z-debug-0.log