ノードv6.11.2、npm v5.3.0、angular/cli v1.2.7を使用しています。
Npmインストールの大部分で、次のエラーメッセージが突然表示されます。前に見たことがない...
mmeppiel@MC-LT-MMEPPIEL 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
誰がここで何が起こっているのか説明できますか?私が試したもの:
あなたの時間を感謝します!
プライベートまたは会社のレジストリを使用していますか。 .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と互換性があります
TypeScriptコンパイラがファイルを監視してロックするため、Visual Studio Codeの実行時にこのエラーが発生します( https://github.com/Microsoft/vscode/issues/2859 を参照)。解決策は、NPMを扱うときにVSコードを一時的に閉じることです。おそらくファイルを監視しているものがありますか?
これは役立つかもしれません https://alastaircrabtree.com/fixing-intermittant-eperm-operation-not-permitted-on-npm-install/
また、異なるnode
バージョンを試してみてください。Windowsでnode
をアップグレード/切り替える最良の方法は、 nvm-windows を使用することです。開発マシンにインストールして、切り替えることができます。
このような問題に対処するときは、コードエディター(VS Code、ectなど)のようなnode_modules
フォルダーをロックしていないこと、または別のコンソールウィンドウでnpm start
を実行していることなどを確認する必要があります
それでも問題が発生する場合は、システムから 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のメジャーバージョンからジャンプすると、以前のノードバージョンでインストールしたパッケージの一部が機能しなくなる可能性があるため、再インストールする必要があります。
Node v8.6.0
とnpm v5.4.2
を使用しても、同じ問題が発生します。
解決済み:
npm cache clean --force
&
npm install [package] --force
参照: npm wikiのトラブルシューティングガイド 。
非常によく似た問題、特定の不満は、新しいアプリのターゲットディレクトリの特定のサブフォルダ(fsevents)でscandirが失敗したことだけでした。私が調べたところ、問題のフォルダーは、LinuxではなくWindows上にあったため、npmインストールでスキップされたオプションの依存関係の製品であるため、存在しませんでした。
アプリビルドコマンドを実行するスクリプトは、「ng new」がWindows PowerShellで実行されるときに、これを補うように実行されます。通常のcmdウィンドウで実行すると機能しません。したがって、私の場合、修正は単にcmdウィンドウではなくWindows PowerShellで「ng new」を実行し、インストールが正常に完了したことでした-最後に、他のいくつかのことを試しました。
TypeScriptをグローバルにインストールすることでこれを解決しました。 AngularコンパイラにはTypeScript> = 3.1.1および<3.3.0が必要ですpackage.jsonのバージョンをインストール済みバージョンに変更しました。その後、npmインストールを実行しました
npm install -g TypeScript
npm info TypeScript version
npm install
通常、「tns run Android」コマンドもAndroid plateformをセットアップします。これは2回失敗し、次の2つのコマンドを指定された順序で実行して解決しました。
tns platform add Android
tns run Android
管理者としてWindowsコマンドプロンプトを実行します。次に、プロジェクトフォルダーに移動(「cd directoryName」)して「npm install」を実行します。
最も基本的な解決策かもしれませんが、EPERMエラーは許可を与えることによってのみ解決できます。
非アクティブ化 PCにあるすべてのウイルス対策ソフトウェア(インストールが完了するまで)。
adb.exeファイル(存在する場合)がバックグラウンドで実行されていないことを確認します。
これを行うには、タスクマネージャーを開き、[プロセス]タブに移動して、adb.exeプロセスを終了します。
アンインストールコマンドを実行して、expo-cliの以前のインストールが不完全
npm uninstall -g expo-cli --save
さて、install expo-cliアプリ
npm install -g expo-cli
私の場合、これでうまくいきました。他の誰かのためにもするかもしれません。
乾杯!