Ich verwende Knoten v6.11.2, npm v5.3.0 und angle/cli v1.2.7.
Ich erhalte plötzlich die folgende Fehlermeldung für die Mehrheit meiner npm-Installationen. Ich habe es noch nie gesehen ...
[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
Kann jemand erklären, was hier los ist? Dinge, die ich ausprobiert habe:
Schätze deine Zeit!
Verwenden Sie ein privates oder Unternehmensregister? Überprüfen Sie Ihre .npmrc
-Datei und stellen Sie sicher, dass sie verfügbar ist.
wenn Sie sich in einer Unternehmensumgebung befinden, stellen Sie sicher, dass der Proxy kein Problem darstellt.
Überprüfen Sie in Ihrem Ordner, ob package-lock.json generiert wurde. Sie können diese Neuinstallation löschen.
Ich habe wenig Zweifel, aber Knoten 6.x.x mit npm 5.x.x könnte ein Problem sein, da Knoten 7.x.x mit 5.x.x kompatibel ist. Normalerweise ist Knoten 6.x.x mit npm 4.x.x kompatibel
Diese Fehlermeldung wird beim Ausführen von Visual Studio Code angezeigt, da der TypeScript-Compiler Dateien überwacht und diese sperrt (siehe https://github.com/Microsoft/vscode/issues/28593 ). Die Lösung besteht darin, den VS-Code vorübergehend zu schließen, wenn mit NPM gearbeitet wird. Vielleicht haben Sie etwas beim Ansehen von Dateien?
Dies kann helfen, https://alastaircrabtree.com/de/fixing-intermittant-eperm-operation-not-permitted-on-npm-install/
Versuchen Sie auch, mit verschiedenen node
-Versionen zu spielen. Die beste Möglichkeit zum Aktualisieren/Wechseln von node
unter Windows ist die Verwendung von nvm-windows . Auf diese Weise können Sie auf Ihrem Dev-Rechner mehrere Knotenversionen installieren, die Sie wechseln können.
Wenn Sie sich mit einem solchen Problem befassen, müssen Sie sicherstellen, dass der Ordner node_modules
nicht durch Ihren Code Editor (z. B. VS Code, ect) blockiert wird, oder dass Sie npm start
in einem anderen Konsolenfenster usw. ausführen
Wenn das Problem weiterhin auftritt, versuchen Sie, Knoten und npm deinstallieren vollständig von Ihrem System zu deinstallieren. Starten Sie dann den Computer neu und installieren Sie den Knoten und npm erneut.
Es ist fast so, als wäre dies ein häufiges Problem, wenn Sie die npm-Probleme filtern nach npm ERR! code EPERM
betrachten. Wenn Sie einige dieser Probleme durchgehen, werden Sie feststellen, dass einige Leute sagen, dass das Wechseln der Knotenversion tatsächlich eine Hilfe ist (genau das habe ich oben gesagt). Sie müssen also mit nvm-windows spielen und sehen, welchen Knoten Version funktioniert am besten für Sie.
Sobald Sie nvm-windows installiert haben, können Sie Folgendes tun:
nvm list
- zeigt alle lokalen Knotenversionen an, zu denen Sie wechseln könnennvm list available
- zeigt alle aktuellen Knotenversionen , die Sie lokal installieren könnennvm install <version number>
- eine bestimmte Knotenversion installieren (herunterladen + installieren)nvm use <version number>
zu einer bestimmten Knotenversion wechselnnvm help
- wird dir helfenWenn Sie aus der Hauptversion von npm einige Ihrer Pakete wechseln, die Sie Wenn Sie mit einer früheren Knotenversion installiert sind, funktionieren Sie möglicherweise nicht mehr. müssen sie neu installieren
Ein sehr ähnliches Problem, nur die spezifische Beschwerde bestand darin, dass Scandir in einem bestimmten Unterordner (Fsevents) im Zielverzeichnis der neuen App fehlgeschlagen ist. Ich überprüfte und stellte fest, dass der betreffende Ordner nicht einmal existierte, da er das Produkt einer optionalen Abhängigkeit war, die bei npm install übersprungen wurde, da ich unter Windows und nicht unter Linux war.
Das Skript, mit dem der Befehl zum Erstellen der App ausgeführt wird, wird so ausgeführt, dass dies kompensiert wird, wenn "ng new" unter Windows PowerShell ausgeführt wird. Es funktioniert nicht, wenn es in einem normalen Cmd-Fenster ausgeführt wird. In meinem Fall war das Update also einfach "ng new unter Windows PowerShell statt in einem cmd-Fenster auszuführen und die Installation erfolgreich abzuschließen - schließlich, nachdem mehrere andere Dinge ausprobiert wurden.
Behoben, indem TypeScript global installiert wurde. Der Angular Compiler benötigt TypeScript> = 3.1.1 und <3.3.0. Er hat die Version in package.json auf die installierte Version geändert. Anschließend wurde eine npm-Installation durchgeführt
npm install -g TypeScript
npm info TypeScript version
npm install
Normalerweise gehen wir davon aus, dass mit dem Befehl "tns run Android" auch die Android-Plattenform eingerichtet wird, die für mich zweimal fehlgeschlagen ist. Anschließend habe ich die beiden folgenden Befehle in der angegebenen Reihenfolge ausgeführt:
tns platform add Android
tns run Android
Führen Sie den Windows-Befehl Eingabeaufforderung als Administrator ... aus. Navigieren Sie dann ("cd verzeichnisname") zu Ihrem Projektordner, und führen Sie "npm install" aus.
Ich habe das gleiche Problem, auch mit Node v8.6.0
und npm v5.4.2
.
Gelöst mit:
npm cache clean --force
&
npm install [package] --force
Referenz: npm Wiki - Anleitung zur Fehlersuche .
Es mag die einfachste Lösung sein, aber ein EPERM-Fehler kann nur mit Erlaubnis behoben werden.
Deaktivieren alle Antivirensoftware (bis zur vollständigen Installation), die sich auf Ihrem PC befindet.
Stellen Sie sicher, dass die Datei adb.exe (falls vorhanden) nicht im Hintergrund ausgeführt wird.
Öffnen Sie dazu den Task-Manager, wechseln Sie zur Registerkarte "Prozesse" und beenden Sie den Prozess "adb.exe".
Deinstallieren unvollständige vorherige Installationen von expo-cli durch Ausführen des Befehls
npm uninstall -g expo-cli --save
Nun installieren die expo-cli App
npm install -g expo-cli
Dies hat in meinem Fall den Trick getan. Könnte es auch für jemand anderen tun.
Prost!