Die npm-Installation gibt den Fehler "Datei package.json kann nicht gefunden werden" aus.

74

npm installDer npm install -g Befehl / funktioniert unter Windows 7 nicht

Node.js ist ordnungsgemäß installiert, die Version von node.js ist v0.10.28

Abhängigkeiten
ENOENT konnten nicht gelesen werden. Öffnen Sie "Dateipfad" \ package.json.
Dies ist höchstwahrscheinlich kein Problem mit npm.
npm kann keine package.json-Datei in Ihrem aktuellen Verzeichnis finden.

Foto

Subhajit Panja
quelle
1
"Nicht funktioniert" ist nicht sehr nützlich. Aus Ihrem Screenshot geht hervor, dass Sie Probleme mit etwas haben package.json. Kannst du den Inhalt davon posten? Was sagt das Protokoll? (In der Tat ENOENTbedeutet npm kann eine bestimmte Datei nicht lesen. Wo ist Ihre Paketdatei? Haben Sie überhaupt eine?)
Ben
Ja, dieser Link zur Generierung der Datei npm-debug.log befindet sich unten: jsfiddle.net/goldfingerxyz/Whz35
Subhajit Panja
Möglicherweise müssen Sie auch sicherstellen, dass Sie Ihre Eingabeaufforderung als Administrator ausführen.
KSwift87

Antworten:

87

Sie sagen nicht, welches Modul Sie installieren möchten - daher sucht npm nach einer Datei, package.jsondie Ihre Abhängigkeiten beschreibt, und diese Datei fehlt offensichtlich.

Entweder müssen Sie npm explizit mitteilen, welches Modul installiert werden soll, z

npm install express

oder

npm install -g express-generator

oder Sie müssen eine package.jsonDatei hinzufügen und Ihre Module hier registrieren. Der einfachste Weg, eine solche Datei zu erhalten, besteht darin, npm durch Ausführen eine Datei erstellen zu lassen

npm init

und fügen Sie dann hinzu, was Sie benötigen. Bitte beachten Sie, dass dies nur für lokal installierte Module funktioniert, nicht für globale.

Ein einfaches Beispiel könnte folgendermaßen aussehen:

{
  "name": "myapp",
  "version": "0.0.1",
  "dependencies": {
    "express": "4.0.0"
  }
}

oder sowas ähnliches. Weitere Informationen zu der package.jsonDatei finden Sie in der offiziellen Dokumentation und in diesem interaktiven Handbuch .

Golo Roden
quelle
Vielen Dank dafür. War 2 Tage dabei festgefahren.
Geige
17

nodeWird mit npminstalliert, sodass Sie eine Version von haben sollten npm, wird jedoch npmhäufiger aktualisiert als dies der nodeFall ist. Sie sollten daher sicherstellen, dass es sich um die neueste Version handelt.

sudo npm install npm -g

Test: Ausführen npm -v. Die Version sollte höher als 2.1.8 sein.

npm install

DAS IST ES!

https://www.youtube.com/watch?v=wREima9e6vk

Cosimo de 'Medici
quelle
6

Ich bin mir nicht sicher, was Sie hier versuchen:

npm install Allein in Ihrem Home-Verzeichnis sollte nicht viel bewirken - es ist nicht das Stammverzeichnis einer Node-App, daher muss nichts installiert werden, da es keine package.json gibt.

Es gibt zwei mögliche Lösungen:

1) cdzu einer Node-App und dort ausführen npm install. ODER

2) wenn Sie versuchen, etwas als Befehl zur Verwendung in der Shell zu installieren (Sie haben keine Knotenanwendung) , npm install -g packagename. -gDas Flag weist es an, im globalen Namespace zu installieren.

Nerv
quelle
5

>> Für Visual Studio-Benutzer, die die Package Manager-Konsole verwenden <<

Wenn Sie die Package Manager-Konsole in Visual Studio verwenden und Folgendes ausführen möchten:

npm install und bekomme:

ENOENT: Keine solche Datei oder kein solches Verzeichnis. Öffnen Sie 'C: \ Users ... \ YourProject \ package.json'.

Stellen Sie sicher, dass Sie den Befehl im richtigen Verzeichnis ausführen .

VS verwendet standardmäßig den Lösungsordner beim Öffnen der Package Manager-Konsole.

Ausführen, dirdann können Sie sehen, in welchem ​​Ordner Sie sich gerade befinden. Höchstwahrscheinlich im Lösungsordner, deshalb erhalten Sie diesen Fehler. Jetzt müssen Sie cdzu Ihrem Projektordner.

cd YourWebProject

Jetzt npm installsollte jetzt funktionieren, wenn nicht, dann haben Sie ein anderes Problem.

Legenden
quelle
4

Verwenden Sie den folgenden Befehl, um eine package.json-Datei zu erstellen.

npm init 
npm init --yes or -y flag

[Diese Methode generiert eine Standard-package.json unter Verwendung von Informationen, die aus dem aktuellen Verzeichnis extrahiert wurden.]

Arbeiten mit package.json

krish007
quelle
1

Überprüfen Sie diesen Link Schritte zum lokalen Installieren von express.js für Ihre Anwendung.

Wenn Sie Express jedoch aus irgendeinem Grund global installieren, stellen Sie sicher, dass das Verzeichnis, in dem Sie sich befinden, das Verzeichnis ist, in dem Node installiert ist. Unter Windows 10 befindet sich package.json unter

C:\Program Files\nodejs\node_modules\npm

Öffnen Sie die Eingabeaufforderung als Administrator und ändern Sie Ihr Verzeichnis in den Speicherort, in dem sich Ihre package.json befindet.

Geben Sie dann den Installationsbefehl ein.

Vikas
quelle
0

In meinem Fall gab es einen Fehler in meinem package.json:

npm ERR! package.json must be actual JSON, not just JavaScript.

Alexander Polishchuk
quelle
0

Ich hatte das gleiche Problem wie unten.

npm ERR! errno -4058 npm ERR! syscall open npm ERR! enoent ENOENT: Keine solche Datei oder kein solches Verzeichnis. Öffnen Sie 'D: \ SVenu \ FullStackDevelopment \ Angular \ Angular2_Splitter_CodeSkeleton \ CodeSke leton \ run \ package.json' npm ERR! enoent Dies hängt damit zusammen, dass npm keine Datei finden kann. npm ERR! enoent

Das Problem, das ich gemacht habe, war, dass ich den Befehl ausgeführt habe, npm build runanstatt ihn auszuführen npm run build.

Nur teilen, um jemandem zu helfen, der kleine Fehler wie ich macht.

Sibeesh Venu
quelle
0

Lösen Sie mit diesem Code:

npm install npm@latest -g
Jesus Fonseca
quelle
3
Eine Erklärung, was Ihr Code / Befehl tut, wäre schön :)
marko-36
0

Zuerst bist du nicht im aktuellen Ordner ...

Bitte verwenden Sie Cd, um sich mit dem Ordnernamen zu verbinden und auf den gewünschten Projektordner zuzugreifen ...

Verwenden Sie dann den Code

Jesus Fonseca
quelle
Es wäre besser, eine kurze Antwort zu geben, als die Bits zu streuen. SO ist eine Website im Q & A-Format, kein Forum oder Chat
Vega