1. ホーム
  2. windows

[解決済み] Npm このコマンドを root/administrator で再使用してください。

2022-03-15 20:17:25

質問

node.jsを使って必死にモジュールをインストールしようとしているのですが、npmでパッケージを取得するのに失敗してばかりです。

管理者としてログインし、powershell/cmd を "run as administrator" で使用しました。また、レジストリに問題があったので、npm set registryを使用しました。 http://registry.npmjs.org/

いろいろ試したんだけど...気が狂いそうだよ。

以下はそのエラーです。

npm ERR! このコマンドを root/Administrator でもう一度実行してみてください。

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "generator-knockout"
npm ERR! cwd D:\Sergiu\Knockout Test
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.3
npm ERR! path D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\block-stream\block-stream.js
npm ERR! fstream_path D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\block-stream\block-stream.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code EPERM
npm ERR! errno 50
npm ERR! stack Error: EPERM, lstat 'D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\block-stream\block-stream.js'
npm ERR! fstream_stack C:\Program Files\nodejs\node_modules\npm\node_modules\fstream\lib\writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! Error: EPERM, lstat 'D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\fstream\LICENSE'
npm ERR!  { [Error: EPERM, lstat 'D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\fstream\LICENSE']
npm ERR!   errno: 50,
npm ERR!   code: 'EPERM',
npm ERR!   path: 'D:\\Sergiu\\Knockout Test\\node_modules\\generator-knockout\\node_modules\\yeoman-generator\\node_modules\\tar\\node_modules\\fstream\\LICENSE',
npm ERR!   fstream_type: 'File',
npm ERR!   fstream_path: 'D:\\Sergiu\\Knockout Test\\node_modules\\generator-knockout\\node_modules\\yeoman-generator\\node_modules\\tar\\node_modules\\fstream\\LICENSE',
npm ERR!   fstream_class: 'FileWriter',
npm ERR!   fstream_stack:
npm ERR!    [ 'C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\fstream\\lib\\writer.js:284:26',
npm ERR!      'Object.oncomplete (fs.js:107:15)' ] }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

解決方法は?

Administratorでコマンドを再実行する必要はなく、そうすることで問題が解決するわけではないことがわかりました。

試してみてください。

  1. npm cache clean を最初に表示します。

  2. それでも直らない場合は %APPDATA%\npm-cache または、PowerShellを使用している場合。 $env:APPDATA\npm-cache .

キャッシュを削除しても、まだ残骸が残っている場合があります。 そのディレクトリにあるものをすべて手動で削除して、もう一度試してみてください。 私はこれでいつも解決しています。

Crazzymatt が言っていたように、npm@5 バージョン以降では npm cache verify の代わりに npm cache clean . さもなければ、上記のようなエラーが発生します。

<ブロッククオート

npm ERR! npm@5 では、npm キャッシュは破損の問題から自己回復し、キャッシュから抽出されたデータは有効であることが保証されています。もし、すべてが一貫していることを確認したい場合は、代わりに 'npm cache verify' を使ってください。

(出典 MSDNブログ記事 )