Ich führe npm install lodash aus, aber es wird ein Fehler ausgelöst: EACCES: Berechtigung verweigert Fehler. Ich weiß, dass es sich um ein Berechtigungsproblem handelt, aber meines Wissens ist für die lokale Installation des Knotenmoduls keine sudo-Berechtigung erforderlich. Wenn ich es mit sudo ausführe, wird es im Ordner ~ / node_modules installiert. drwxrwxr-x ist die Dateiberechtigung des vorhandenen Ordners. Ich kann nicht herausfinden, was schief gelaufen sein könnte.
Unten ist die Fehlermeldung.
npm ERR! tar.unpack untar error /home/rupesh/.npm/lodash/4.13.1/package.tgz
npm ERR! Linux 3.13.0-88-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "lodash"
npm ERR! node v4.3.1
npm ERR! npm v2.14.12
npm ERR! path /home/rupesh/node_modules/lodash
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall mkdir
npm ERR! Error: EACCES: permission denied, mkdir '/home/rupesh/node_modules/lodash'
npm ERR! at Error (native)
npm ERR! { [Error: EACCES: permission denied, mkdir '/home/rupesh/node_modules/lodash']
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'mkdir',
npm ERR! path: '/home/rupesh/node_modules/lodash',
npm ERR! fstream_type: 'Directory',
npm ERR! fstream_path: '/home/rupesh/node_modules/lodash',
npm ERR! fstream_class: 'DirWriter',
npm ERR! fstream_stack:
npm ERR! [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:35:25',
npm ERR! '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:47:53',
npm ERR! 'FSReqWrap.oncomplete (fs.js:82:15)' ] }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Please include the following file with any support request:
npm ERR! /home/rupesh/Desktop/es6/npm-debug.log
node_modules
root?ls -l ~/Desktop | grep es6
Sie sicher, dass Sie der Eigentümer des es6-Verzeichnisses sindAntworten:
Dieser Befehl behebt das Problem. Es hat bei mir funktioniert:
quelle
v10.10.0
die folgende Fehlermeldung angezeigt : "npm ERR! Kann / var / www / project nicht installieren: Fehlender Paketname"Ich habe das gleiche Problem mit der Installation des Webpack-Servers auf globaler Ebene. Verwenden Sie die Schritte aus dieser URL. Mein Problem wurde behoben. Ich arbeite für Sie.
Die oben genannten Schritte Dort: Sichern Sie Ihren Computer, bevor Sie beginnen.
Test: Laden Sie ein Paket global herunter, ohne sudo zu verwenden.
Anstelle der Schritte 2 bis 4 können Sie die entsprechende ENV-Variable verwenden (z. B. wenn Sie ~ / .profile nicht ändern möchten):
quelle
Das Erstellen von package.json mit npm init hat mein Problem behoben.
quelle
Ich hatte ein Problem unter Linux. Ich hab geschrieben
in meinem Projektordner.
quelle
Nach dem, was ich in Ihren Protokollen sehen kann, haben Sie Folgendes gepostet:
Das Verzeichnis
/home/rupesh/node_modules/
verfügt nicht über die erforderlichen Berechtigungen zum Erstellen eines Verzeichnisses. Führen Siechown -r rupesh:rupesh /home/rupesh/node_modules/
dies aus, um das Problem zu beheben.quelle
/home/rupesh/node_modules
aus irgendeinem Grund. Jede Art und Weise, wie Sie in Ihrem Home-Verzeichnis arbeiten, sollte sowieso ideal seinloadash
Modul finden ?Es hat keine Schreibberechtigungen für
others
(rx). Versuche es mitund wiederholen.
quelle
chown
eine-r
Option zu verhindern, die sie verwenden , um auf jedem einzelnen Ordner innode_modules
?Dies löste mein Problem sofort - mac Mojave 10.14.6 - PhpStorm.
Ursprünglicher Beitrag: https://stackoverflow.com/a/50639828
quelle
Versuchen Sie, Ihrem Projektordner mit dem folgenden Befehl alle Berechtigungen zu erteilen
laufen mit
quelle
FWIW Ich hatte die gleichen Symptome, aber mit einem anderen Paket. Das Erstellen
package.json
und Ausführennpm init
hat mein Problem NICHT gelöst.Auf diesem System wurden anscheinend neue Ordner an diesem Speicherort mit Root-Berechtigungen erstellt. Währenddessen
npm install
werden neue Ordner erstellt. Dies führte dazu, dass die Installation von npm auch mit sudo teilweise fehlschlug.Die Lösung bestand darin,
npm install app
an einem anderen Ort ohne Root-Umask zu laufen .quelle
Ein verwandtes Problem:
Verschwendet 3 Stunden über mehrere Tage.
Auf einer AWS EC2-Maschine funktionierte Folgendes:
Hoffentlich hilft das.
quelle
Ich habe dieses Problem gelöst, indem ich die Berechtigung meines npm-Verzeichnisses geändert habe. Ich ging in das globale Verzeichnis von npm, in dem es sich befand
Ich ging in dieses Verzeichnis, indem ich diesen Befehl eingab
und ändern Sie dann die Berechtigung des Ordners .npm, indem Sie diesen Befehl eingeben.
Es hat für mich wie ein Zauber gewirkt. Es gibt jedoch eine Sicherheitslücke, dh Ihr globales Paketverzeichnis ist für alle Ebenen zugänglich.
quelle
Zuerst ohne -g (global) auf root installieren. Nach dem Versuch, -g (global) zu verwenden, hat es bei mir funktioniert.
quelle
LUBUNTU 19.10 / Gleiches Problem läuft: $
npm start
dump: Fehler: EACCES: Berechtigung verweigert, öffnen Sie '/home/simon/xxx/pagebuilder/resources/scripts/registration/node_modules/.cache/@babel/register/.babel.7.4.0.development.json' unter Object. fs.openSync (fs.js: 646: 18) unter Object.fs.writeFileSync (fs.js: 1299: 33) unter save (/ home / simon / xxx / pagebuilder / resources / scripts / register / node_modules / @ babel / register / lib / cache.js: 52: 15) bei _combinedTickCallback (intern / process / next_tick.js: 132: 7) bei process._tickCallback (intern / process / next_tick.js: 181: 9) bei Function.Module.runMain (module.js: 696: 11) bei Object. (/home/simon/xxxx/pagebuilder/resources/scripts/registration/node_modules/@babel/node/lib/_babel-node.js:234:23) unter Module._compile (module.js: 653: 30) unter Object .Module._extensions..js (module.js: 664: 10) bei Module.load (module.js: 566: 32)
Mein Standardbenutzer (Administrator) hatte anscheinend keine Rechte für Knotenmodulverzeichnisse.
Das hat es für mich behoben!
$ sudo chmod a+w node_modules -R ## from project root
quelle
Versuchen Sie Folgendes: Erstellen Sie in der Befehlszeile in Ihrem Ausgangsverzeichnis ein Verzeichnis für globale Installationen:
Konfigurieren Sie npm für die Verwendung des neuen Verzeichnispfads:
Öffnen oder erstellen Sie in Ihrem bevorzugten Texteditor eine ~ / .profile-Datei und fügen Sie diese Zeile hinzu:
Aktualisieren Sie in der Befehlszeile Ihre Systemvariablen:
Testen Sie die globale Installation des Pakets ohne Verwendung von sudo. Ich hoffe, es hilft
quelle
Hier ist die Lösung für GNU / Linux (Debian) -Benutzer (Ersetzen Sie USERNAME durch Ihren Benutzernamen ):
quelle
Entfernen Sie dist Ordner und dies löst mein Problem!
quelle
Unter Windows stellte sich heraus, dass der Port bereits von IIS verwendet wurde.
Durch Beenden von IIS (Rechtsklick, Beenden) wurde das Problem behoben.
quelle
Ändern Sie einfach den Eigentümer des globalen
node_modules
Verzeichnisses in Ihren Benutzer:quelle
quelle
/usr/local
und alle Unterverzeichnisse sollten die Berechtigungenrwxr-xr-x
root gehören und gehören. Benutzer des Systems können innerhalb dieser Verzeichnisstruktur lesen und ausführen, aber keine Dateien bearbeiten oder erstellen. Abgesehen davon schlägt Ihre Antwort vor, allen Berechtigungen zu erteilen. Und ohne zu beschreiben, wie und was davon betroffen sein wird oder warum das Problem gelöst wird.