Wie verwende ich npm mit node.exe?


108

Ich habe Windows Binary (.exe) von nodejs von der Hauptseite heruntergeladen .

Wie kann ich installieren und verwenden npm(Node Package Manager)?


Die Windows-Binärdatei ist 0.5.x, die instabile Version von node.js. Ich empfehle, dies nicht in der Produktion auszuführen, es kann jedoch für die Entwicklung verwendet werden. Möglicherweise möchten Sie (bald!) Auf 0.6 warten, bevor Sie node.js in Windows in der Produktion ausführen.
Raynos

5
Wenn Sie diese Frage über Google finden, wird Node.js für Windows mit npm geliefert (Hinweis: Es handelt sich um eine ausführbare Skript-Passthrough-Datei, keine echte ausführbare Datei).
Mike 'Pomax' Kamermans

Es gibt einen Fehler. siehe stackoverflow.com/questions/25093276/…
gcb

Antworten:


58

Das aktuelle Windows-Installationsprogramm von nodejs.org ab Version 0.6.11 (20.02.2012) installiert NPM zusammen mit NodeJS.

ANMERKUNGEN:

  • Zu diesem Zeitpunkt ist die 64-Bit-Version die beste Wahl
  • Der Installationspfad für den 32-Bit-Knoten lautet "Programme (x86)" in 64-Bit-Fenstern.
  • Möglicherweise müssen Sie der Pfadanweisung in Umgebungsvariablen auch Anführungszeichen hinzufügen. Dies scheint nur in einigen Fällen der Fall zu sein, die ich gesehen habe.
  • Unter Windows befindet sich der globale Installationspfad tatsächlich im Profilverzeichnis Ihres Benutzers
    • %USERPROFILE%\AppData\Roaming\npm
    • %USERPROFILE%\AppData\Roaming\npm-cache
    • WARNUNG: Wenn Sie als anderer Benutzer zeitgesteuerte Ereignisse oder andere Automatisierungen ausführen, stellen Sie sicher, dass Sie npm installals dieser Benutzer ausgeführt werden. Einige Module / Dienstprogramme sollten global installiert werden.
    • INSTALLER-BUGS: Möglicherweise müssen Sie diese Verzeichnisse erstellen oder das ...\npmVerzeichnis selbst zum Pfad Ihres Benutzers hinzufügen .

So ändern Sie den "globalen" Speicherort für alle Benutzer in einen geeigneteren freigegebenen globalen Speicherort %ALLUSERSPROFILE%\(npm|npm-cache)(tun Sie dies als Administrator):

  • Erstellen Sie ein [NODE_INSTALL_PATH]\etc\Verzeichnis
    • Dies ist erforderlich, bevor Sie npm config --global ...Aktionen ausprobieren
  • Erstellen Sie die globalen (Administrator-) Speicherorte für npm-Module
    • C:\ProgramData\npm-cache - npm Module werden hier gehen
    • C:\ProgramData\npm - Hier werden Binärskripte für global installierte Module abgelegt
    • C:\ProgramData\npm\node_modules - global installierte Module werden hier gehen
    • Stellen Sie die Berechtigungen entsprechend ein
      • Administratoren: ändern
      • authentifizierte Benutzer: lesen / ausführen
  • Festlegen globaler Konfigurationseinstellungen (Administrator-Eingabeaufforderung)
    • npm config --global set prefix "C:\ProgramData\npm"
    • npm config --global set cache "C:\ProgramData\npm-cache"
  • In C:\ProgramData\npmden Systemspezifika- Path - Umgebungsvariablen

Wenn Sie %LOCALAPPDATA%\(npm|npm-cache)stattdessen den "globalen" Speicherort Ihres Benutzers in " Pfad " ändern möchten :

  • Erstellen Sie die erforderlichen Verzeichnisse
    • C:\Users\YOURNAME\AppData\Local\npm-cache - npm Module werden hier gehen
    • C:\Users\YOURNAME\AppData\Local\npm - Binärskripte für installierte Module finden Sie hier
    • C:\Users\YOURNAME\AppData\Local\npm\node_modules - global installierte Module werden hier gehen
  • Konfigurieren Sie npm
    • npm config set prefix "C:\Users\YOURNAME\AppData\Local\npm"
    • npm config set cache "C:\Users\YOURNAME\AppData\Local\npm-cache"
  • Fügen Sie den neuen npm-Pfad zu Ihrer Umgebung hinzu PATH.
    • setx PATH "%PATH%;C:\Users\YOURNAME\AppData\Local\npm"

Für Anfänger sind einige der npm-Module, die ich am häufigsten verwendet habe, wie folgt.

Erweiterte JS-Optionen ...

  • async / await - asynchrone Funktionen, die über babel unterstützt werden

Zum Testen greife ich nach folgenden Werkzeugen ...

  • Mokka - Testrahmen
  • chai - assertion library, ich mag chai.expect
  • Sinon - Spione und Stummel und Unterlegscheiben
  • sinon-chai - Erweitern Sie den Chai mit den Assertionswerkzeugen von sinon
  • babel-istanbul - Berichterstattungsberichte
  • Scherz - parallele Tests, Behauptungen, Verspottungen, Berichterstattungsberichte in einem Tool
  • babel-plugin-rewire - etwas einfacher für einige spöttische Bedingungen im Vergleich zum Scherz

Web-Tooling.

  • Webpack - Modulbündler , Paketknotenmodule für die Browsernutzung
  • babel - Konvertieren Sie die moderne JS-Syntax (ES2015 +) für Ihre Bereitstellungsumgebung.

Wenn Sie es bauen ...

  • shelljs - Shell-Dienstprogramme für Knotenskripte . Früher habe ich gulp / grunt verwendet, aber heutzutage wird es ein scriptsVerzeichnis geben, auf das in package.json Skripten über npm verwiesen wird . Sie können Gulp-Tools in einfachen Skripten verwenden.

Ab dem 25. Februar scheint dieser Fehler behoben zu sein. Ich kann npm von% path% ausführen (entweder das oder iisnode hat es für mich behoben)
Dan Davies Brackett

12
Um NPM unter Windows zu verwenden, verwenden Sie die Node.js Command Prompt. Nur zu versuchen, npmvon einer anderen Befehlszeile aus zu laufen, funktioniert nicht.
Daniel AA Pelsmaeker

Gute Liste von Modulen für Anfänger. Verwenden Sie node-mssql, um Tedious für eine viel einfachere API zu verpacken, anstatt nur Tedious zu verwenden .
Christiaan Westerbeek

Ich musste das Verzeichnis / den Ordner C: \ Users \ kevitt \ AppData \ Roaming \ npm erst manuell erstellen, bevor ich mein erstes Paket installieren konnte.
Kenny Evitt

@ DanielA.A.Pelsmaeker habe ich nie lief npm unter Windows mit Node.js Eingabeaufforderung ; nicht zu sagen, dass es keine praktikable Methode ist. Fast jedes Terminal oder jede Shell funktioniert, wenn die Person, die es verwendet, weiß, was sie tut! Ich benutze npmfast jeden Tag Befehle; und BASH ist mein Ziel, wenn ich mit Windows nicht weiterkomme. Aber Windows native CMD & PowerShell funktionieren, BASH, WSL (BASH, ZSH, Fish) ... sie funktionieren alle einwandfrei. " Nur zu versuchen, npm über eine andere Befehlszeile auszuführen, funktioniert nicht. " Diese Aussage ist wie die Aussage, dass Sie zum Schreiben von JavaScript ein VIM verwenden müssen und jede andere IDE nicht funktioniert. #facepalm
Rockin4Life33

43

Wenn Node.js nicht mit dem msi-Installationsprogramm installiert wird , muss npm manuell eingerichtet werden.

npm einrichten

Nehmen wir zunächst an, wir haben die Datei node.exe im Ordner c:\nodejs. Nun zum Einrichten von npm -

  1. Laden Sie die neueste npm- Version von GitHub herunter ( https://github.com/npm/npm/releases ).
  2. Ordner erstellen c:\nodejs\node_modulesundc:\nodejs\node_modules\npm
  3. Entpacken Sie die heruntergeladene Zip-Datei im c:\nodejs\node_modules\npmOrdner
  4. Kopieren Sie die Dateien npm und npm.cmd aus c:\nodejs\node_modules\npm\bindem c:\nodejsOrdner

Öffnen Sie zum Testen von npm das cmd.exeArbeitsverzeichnis change to c:\nodejsund geben Sie ein npm --version. Sie sehen die Version von npm, wenn sie korrekt eingerichtet ist.

Sobald das Setup abgeschlossen ist, können damit Pakete lokal oder global installiert / deinstalliert werden. Weitere Informationen zur Verwendung von npm finden Sie unter https://docs.npmjs.com/ .

Als letzten Schritt können Sie c:\nodejsder pathUmgebungsvariablen den Ordnerpfad des Knotens hinzufügen , sodass Sie beim Ausführen node.exeund npman der Eingabeaufforderung nicht den vollständigen Pfad angeben müssen .


Arbeitete wie ein Zauber, danke.
Herr Roshan Pawar

beste Antwort für jetzt. Der am besten gewählte hat einen defekten Link.
Aaron

38

npm kann hier heruntergeladen werden (ohne Installation):

http://nodejs.org/dist/npm/

https://github.com/npm/npm/releases


9
Extrahieren Sie einfach das Archiv im selben Ordner wie node.exe, sodass sich npm.cmd auf derselben Ebene wie node.exe befindet.
Ezward

1
Dies ist eine gute Möglichkeit, Node und npm zu "installieren", wenn Sie keine Administratorrechte haben. Sobald Sie beide npm und Knoten dort haben, fügen hinzu , dass auf Ihrem Weg: set NODE=%USERPROFILE%\nodejsund PATH=%PATH%;%NODE%und du bist gut zu gehen ...
djKianoosh

@djKianoosh, das ist ein bisschen Kreisverkehr. Alles was Sie brauchen ist set path=your/folder/containing/node. Zum Beispiel set path=%userprofile%\nodejs. Dann ruf npmdanach an, das ist alles. Der Befehl set pathwirkt sich nur auf Ihre aktuelle Cmd-Sitzung aus, nicht global in der Registrierung, sodass Sie ihn nicht rückgängig machen müssen.
Pacerier

@Ezward, Sie brauchen sie nicht im selben Ordner. Siehe Kommentar oben.
Pacerier

das ist richtig @Pacerier. Ich habe ein ähnliches Skript, das beim Anmelden ausgeführt werden muss, um es zu automatisieren. Hauptproblem in einem Unternehmen ist das Fehlen von Administratorrechten und Proxys / Firewalls.
DJKianoosh

11

Ich habe gerade die neueste Version von Node (0.6.12) in Windows 7 mit msi (node-v0.6.12.msi) installiert.

npm wird bereits mitgeliefert, muss nicht separat beigefügt werden.

Beim Ausführen von npm (npm install mysql) trat ein Berechtigungsproblem auf, das sich aus dem Pfad ergab, in dem sich meine Knoten befanden, dh C: \ Programme (x86) \ Knoten

Dann habe ich die folgenden Schritte ausgeführt:

1) C:\Program Files (x86)\nodejs\npmIn Umgebungsvariablen hinzugefügt - Pfadsystemvariable.

2) ging nur C:\in der Eingabeaufforderung zurück und gab den Befehl - npm install mysql- und voila! es funktionierte..

Hoffe das hilft.


Wo kann man diese MSI herunterladen? Ich sehe es nicht auf der Website.
Vee

@vee, Ist es nicht direkt auf der Hauptseite nodejs.org/download . Suche nach "msi".
Pacerier

7

Ich führe node.js unter Windows mit npm aus. Der Trick ist einfach Cygwin verwenden. Ich folgte dem Howto unter https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-(Windows) . Stellen Sie jedoch sicher, dass Sie Version 0.4.11 von nodejs verwenden, da sonst npm fehlschlägt!


9
Cygwin sollte niemals die Antwort sein. Es ist der falsche Weg, um diese Probleme zu lösen.
Troy Howard

Mit Node 0.6 können Sie Node problemlos unter Windows verwenden, aber viele Knotenmodule, die von Binärdateien abhängen, unterstützen Windows nicht und Sie kommen wieder zu dem Punkt, an dem Sie so etwas wie eine Unix-Umgebung benötigen.
Malte

1
Eigentlich müssen Sie bei Troy Howard nicht so viel mit Windows zu tun haben, wenn Sie Cygwin verwenden. Das allein ist ein großes Plus, weil es die Ursache der meisten seiner Probleme beseitigt.
JaneGoodall

1
@TroyHoward Ich würde noch einen Schritt weiter gehen und sagen, dass Windows niemals die Antwort für irgendeine Art von Webentwicklung sein sollte.
Noz

Windows Visual Studio und .NET sind einen Schritt weiter als der Schritt zur Retorte und eignen sich für die Webentwicklung, einschließlich PHP und Perl, die alle unter IIS ausgeführt werden.
Jules Bartow

4

Ich habe gerade 64 Bit Node.js v0.12.0 für Windows 8.1 von hier installiert . Es ist ungefähr 8 MB groß und da es sich um ein MSI handelt, doppelklicken Sie einfach, um es zu starten. Es werden automatisch Ihre Umgebungspfade usw. eingerichtet.

Um die Befehlszeile zu erhalten, müssen Sie nur [Win-Key]+[S]suchen und dann "node.js" als Suchphrase eingeben.

Wählen Sie den Node.js Command PromptEintrag NICHT denNode.js Eintrag.

Beide geben Ihnen eine Eingabeaufforderung, aber nur die erstere funktioniert tatsächlich. npm ist in diesen Download eingebaut, also nur npm -whateverbei Aufforderung.


Dies löste die Frage, für die ich hierher gekommen war - nach der Installation von node.js unter Windows über das MSI-Installationsprogramm konnte ich immer noch nicht über die Befehlszeile auf npm zugreifen, und die Ausführung im Fenster "node.js" gab nur einen Fehler aus, den ich brauchte Verwenden Sie die Befehlszeile. Ich war zuversichtlich, dass ich keine Pfade manuell hinzufügen muss - dann stellte ich fest, dass ich in der speziellen Knotenshell ausgeführt werden musste, wie in dieser Antwort angegeben. Vielen Dank.
Dan Nissenbaum

3

Verwenden Sie einen Windows-Paketmanager wie schokoladig. Installieren Sie zuerst schokoladig wie auf der Homepage angegeben . Das sollte ein Kinderspiel sein

Führen Sie dann zum Installieren von Node JS (Installieren) den folgenden Befehl über die Befehlszeile oder über PowerShell aus:

C:> cinst nodejs.install


Das hat jetzt bei mir funktioniert. Der Pfad in Windows 8.1 ist korrekt eingestellt auf: C: \ Programme \ nodejs. Aber ich kann npm nicht ausführen, wenn ich nicht zu diesem Pfad wechsle. Aber wenn ich die Eingabeaufforderung nodejs cmd line ausgeführt habe, wird sie so festgelegt, dass sie funktioniert. Es richtet C: \ Windows \ System32 \ cmd.exe / k "C: \ Programme \ nodejs \ nodevars.bat" ein und wird unter "C: \ Programme \ nodejs \" ausgeführt. Vielleicht haben es die c: \> cinst nodejs getan dass ich vor cinst nodejs.install ausgeführt habe. Ich bin mir nicht sicher. (Warum kann ich einen alten Kommentar nicht korrigieren?)
Patrik Lindström

Sie können Ihre eigenen Kommentare nach dem Posten innerhalb eines 5-Minuten-Fensters bearbeiten. meta.stackexchange.com/questions/459/… . Es scheint nun, dass Sie zumindest die ersten beiden Kommentare löschen können.
Christiaan Westerbeek

2

Hier ist eine Anleitung von @CTS_AE zur Verwendung von NPM mit eigenständiger node.exe: https://stackoverflow.com/a/31148216/228508

  1. Laden Sie die Datei node.exe eigenständig von nodejs.org herunter
  2. Holen Sie sich einen NPM-Release-Zip von Github https://github.com/npm/npm/releases
  3. Erstellen Sie einen Ordner mit dem Namen: node_modules im selben Ordner wie node.exe
  4. Extrahieren Sie die NPM-Zip-Datei in den Ordner node_modules
  5. Benennen Sie den extrahierten npm-Ordner in npm um und entfernen Sie alle Versionsverwaltungen, z. B.: Npm-3.3.4 -> npm.
  6. Kopieren Sie npm.cmd aus dem Ordner / npm / bin / in den Stammordner mit node.exe

0

Ich habe gerade Node.js zum ersten Mal installiert und es enthält NPM, das über Windows Cmd ausgeführt werden kann. Stellen Sie jedoch sicher, dass Sie es als Administrator ausführen. Klicken Sie mit der rechten Maustaste auf cmd und wählen Sie "Als Administrator ausführen". Dadurch konnte ich npm-Befehle aufrufen.


-1

Durchsuchen Sie alle .npmrc-Dateien in Ihrem System.

Bitte überprüfen Sie, ob der von Ihnen angegebene Pfad korrekt ist. Wenn nicht, entfernen Sie bitte den falschen Pfad.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.