web-dev-qa-db-ja.com

Npm ERR!コードEPERM

ノードv6.11.2、npm v5.3.0、angular/cli v1.2.7を使用しています。

Npmインストールの大部分で、次のエラーメッセージが突然表示されます。前に見たことがない...

[email protected] MINGW64 ~/Desktop/Angular Solutions/my-app (master)
$ npm install --save [email protected] font-awesome
npm ERR! path C:\Users\mmeppiel\Desktop\Angular Solutions\my-app\node_modules\fs                            events\node_modules
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall lstat
npm ERR! Error: EPERM: operation not permitted, lstat 'C:\Users\mmeppiel\Desktop                            \Angular Solutions\my-app\node_modules\fsevents\node_modules'
npm ERR!     at Error (native)
npm ERR!  { Error: EPERM: operation not permitted, lstat 'C:\Users\mmeppiel\Desk                            top\Angular Solutions\my-app\node_modules\fsevents\node_modules'
npm ERR!     at Error (native)
npm ERR!   stack: 'Error: EPERM: operation not permitted, lstat \'C:\\Users\\mme                            ppiel\\Desktop\\Angular Solutions\\my-app\\node_modules\\fsevents\\node_modules\                            '\n    at Error (native)',
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'lstat',
npm ERR!   path: 'C:\\Users\\mmeppiel\\Desktop\\Angular Solutions\\my-app\\node_                            modules\\fsevents\\node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\mmeppiel\AppData\Roaming\npm-cache\_logs\2017-08-08T00_56_                            59_442Z-debug.log

誰がここで何が起こっているのか説明できますか?私が試したもの:

  • 管理者としてGit Bashを実行する
  • ファイアウォールとアンチウイルス保護をオフにする
  • Npm cache cleanの実行
  • AppData\Roaming\npm-cacheのコンテストを手動で削除する
  • コントロールパネルからノードをアンインストールして再インストールする
  • EveryoneにC:\ Program Files\nodejsへの完全なアクセス許可を付与しました
  • CLIを再インストールしました
  • コンピューターを再起動しました(怪我はできませんか?)
  • Node_modulesフォルダーが読み取り専用ではないことを確認しました

あなたの時間を感謝します!

16
Matthew Meppiel

プライベートまたは会社のレジストリを使用していますか。 .npmrcファイルを作成し、利用できることを確認します。

企業環境にいる場合は、プロキシに問題がないことを確認してください。

package-lock.jsonが生成されている場合は、フォルダーをチェックインします。再インストールするmakeを削除できます。

疑いはほとんどありませんが、ノード7.x.xは5.x.xと互換性があるため、ノード6.x.xとnpm 5.x.xが問題になる場合があります。通常、ノード6.x.xはnpm 4.x.xと互換性があります

4
Aniruddha Das

TypeScriptコンパイラがファイルを監視してロックするため、Visual Studio Codeの実行時にこのエラーが発生します( https://github.com/Microsoft/vscode/issues/2859 を参照)。解決策は、NPMを扱うときにVSコードを一時的に閉じることです。おそらくファイルを監視しているものがありますか?

7
James Ehly

これは役立つかもしれません https://alastaircrabtree.com/fixing-intermittant-eperm-operation-not-permitted-on-npm-install/

また、異なるnodeバージョンを試してみてください。Windowsでnodeをアップグレード/切り替える最良の方法は、 nvm-windows を使用することです。開発マシンにインストールして、切り替えることができます。

更新0:

このような問題に対処するときは、コードエディター(VS Code、ectなど)のようなnode_modulesフォルダーをロックしていないこと、または別のコンソールウィンドウでnpm startを実行していることなどを確認する必要があります

更新1:

それでも問題が発生する場合は、システムから nodeとnpmの両方をアンインストール に完全に試してください。次に、マシンを再起動し、ノードとnpmを再度インストールします。

しかしながら

npmがnpm ERR! code EPERMによるフィルタリングの問題 を調べることで一般的な問題のように継ぎ目があります。これらの問題のいくつかを閲覧すると、ノードバージョンの切り替えが実際に役立つと言っている人がいることがわかります(最初は正確に最初に言っていました) nvm-windows で遊んで、何を見る必要があるかノードバージョンが最適です。

nvm-windows をインストールしたら、次のことができます。

  • nvm list-切り替え可能なローカルノードのバージョンをすべて表示します
  • nvm list available- すべての実際のノードバージョン をローカルにインストールできることを示します
  • nvm install <version number>-特定のノードバージョンをインストール(ダウンロード+インストール)
  • nvm use <version number>特定のノードバージョンへの切り替え
  • nvm help-お手伝いします

Npmのメジャーバージョンからジャンプすると、以前のノードバージョンでインストールしたパッケージの一部が機能しなくなる可能性があるため、再インストールする必要があります。

1
Kuncevič

Node v8.6.0npm v5.4.2を使用しても、同じ問題が発生します。

解決済み:

npm cache clean --force

npm install [package] --force

参照: npm wikiのトラブルシューティングガイド

1
ranieribt

非常によく似た問題、特定の不満は、新しいアプリのターゲットディレクトリの特定のサブフォルダ(fsevents)でscandirが失敗したことだけでした。私が調べたところ、問題のフォルダーは、LinuxではなくWindows上にあったため、npmインストールでスキップされたオプションの依存関係の製品であるため、存在しませんでした。

アプリビルドコマンドを実行するスクリプトは、「ng new」がWindows PowerShellで実行されるときに、これを補うように実行されます。通常のcmdウィンドウで実行すると機能しません。したがって、私の場合、修正は単にcmdウィンドウではなくWindows PowerShellで「ng new」を実行し、インストールが正常に完了したことでした-最後に、他のいくつかのことを試しました。

0
Matt Campbell

TypeScriptをグローバルにインストールすることでこれを解決しました。 AngularコンパイラにはTypeScript> = 3.1.1および<3.3.0が必要ですpackage.jsonのバージョンをインストール済みバージョンに変更しました。その後、npmインストールを実行しました

    npm install -g TypeScript
    npm info TypeScript version
    npm install
0
Glitch

通常、「tns run Android」コマンドもAndroid plateformをセットアップします。これは2回失敗し、次の2つのコマンドを指定された順序で実行して解決しました。

   tns platform add Android
   tns run Android
0
Mukhtiar Zamin

管理者としてWindowsコマンドプロンプトを実行します。次に、プロジェクトフォルダーに移動(「cd directoryName」)して「npm install」を実行します。

0
JUSTIN JOSEPH

最も基本的な解決策かもしれませんが、EPERMエラーは許可を与えることによってのみ解決できます。

  1. 非アクティブ化 PCにあるすべてのウイルス対策ソフトウェア(インストールが完了するまで)。

  2. adb.exeファイル(存在する場合)がバックグラウンドで実行されていないことを確認します。

    これを行うには、タスクマネージャーを開き、[プロセス]タブに移動して、adb.exeプロセスを終了します。

  3. アンインストールコマンドを実行して、expo-cliの以前のインストールが不完全

    npm uninstall -g expo-cli --save

  4. さて、install expo-cliアプリ

    npm install -g expo-cli

私の場合、これでうまくいきました。他の誰かのためにもするかもしれません。

乾杯!

0
Rithika Akula