wake-up-neo.com

Ändern Sie das globale Standardinstallationsverzeichnis für node.js-Module in Windows?

In meiner Windows-Installation enthält PATHC:\Program Files\nodejs, wobei die ausführbare Datei node.exe ist. Ich kann sowohl node von der Shell als auch npm starten. Ich möchte, dass auch neue ausführbare Dateien in C:\Program Files\nodejs installiert werden, aber es scheint unmöglich zu sein.

Das Setzen von NODE_PATH- und NODE_MODULES-Variablen ändert nichts: Die Dinge werden standardmäßig noch in %appdata%\npm installiert.

Wie kann ich den globalen Installationspfad ändern?

109
gremo

Alles, was Sie brauchen, ist npm-folders Dokumentation zu lesen. Ich möchte mein Win-Notebook jetzt nicht starten, daher kann ich es nicht überprüfen. Sie sollten jedoch nur prefix in c:\Program Files\nodejs in Ihrer Konfigurationsdatei ändern. Wenn Sie sie global für alle Benutzer ändern möchten, bearbeiten Sie die c:\Program Files\nodejs\npmrc-Datei. Andernfalls erstellen/bearbeiten Sie c:\Users\{username}\.npmrc.

Aber diese Änderung wird wahrscheinlich einige Nebeneffekte haben, also lesen Sie diese Diskussion vorher. Ich denke, Ihre Idee ist nicht gut.

67
ivoszz

der Versuch, global Pakete in C:\Program Files (x86)\nodejs\ zu installieren, gab mir Probleme beim Ausführen als Administrator , da npm das war versuchen, in zu installieren
C:\Program Files (x86)\nodejs\node_modules\

um dies zu beheben, ändern Sie global Installationsverzeichnis in C:\Users\{username}\AppData\Roaming\npm:

erstellen Sie in C:\Users\{username}\ eine .npmrc - Datei mit folgendem Inhalt:

prefix = "C:\\Users\\{username}\\AppData\\Roaming\\npm"

Hinweis

Umwelt
Nodejs x86-Installationsprogramm in C:\Program Files (x86)\nodejs\ unter Windows 7 Ultimate N 64-Bit SP1
node --version: V0.10.28
npm --version: 1.4.10

60
Jake Berger

Sie können meine Antwort darauf in meiner Antwort auf eine andere Frage sehen.


In Windows befindet sich der Installationspfad global tatsächlich im Profilverzeichnis des Benutzers 

  • %USERPROFILE%\AppData\Roaming\npm
  • %USERPROFILE%\AppData\Roaming\npm-cache 
  • WARNUNG: Wenn Sie zeitgesteuerte Ereignisse oder eine andere Automatisierung als anderer Benutzer durchführen, stellen Sie sicher, dass Sie npm install als diesen Benutzer ausführen. Einige Module/Dienstprogramme sollten global installiert werden.
  • INSTALLER-FEHLER: Möglicherweise müssen Sie diese Verzeichnisse erstellen oder das Verzeichnis ...\npm selbst zu Ihrem Benutzerpfad 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 ausführen
  • erstellen Sie die globalen (Admin-) Speicherorte für die npm-Module
    • C:\ProgramData\npm-cache - npm-Module werden hier verfügbar sein
    • C:\ProgramData\npm - Binärskripts für global installierte Module werden hier angezeigt
    • C:\ProgramData\npm\node_modules - global installierte Module werden hier verfügbar sein
    • stellen Sie die Berechtigungen entsprechend ein
      • administratoren: ändern
      • authentifizierte Benutzer: Lesen/Ausführen
  • Legen Sie die globalen Konfigurationseinstellungen fest (Administrator-Eingabeaufforderung)
    • npm config --global set prefix "C:\ProgramData\npm"
    • npm config --global set cache "C:\ProgramData\npm-cache"
  • Fügen Sie C:\ProgramData\npm zur Umgebungsvariablen Path des Systems hinzu 

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

  • Erstellen Sie die erforderlichen Verzeichnisse
    • C:\Users\YOURNAME\AppData\Local\npm-cache - npm-Module werden hier verfügbar sein
    • C:\Users\YOURNAME\AppData\Local\npm - Binärskripts für installierte Module werden hier angezeigt
    • C:\Users\YOURNAME\AppData\Local\npm\node_modules - global installierte Module werden hier verfügbar sein
  • 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 zur PATH..__ Ihrer Umgebung hinzu.
    • setx PATH "%PATH%;C:\Users\YOURNAME\AppData\Local\npm"
54
Tracker1

Aufbauend auf dem Installationskonzept von chocolatey und der von @Tracker vorgeschlagenen Idee, funktionierte für mich Folgendes: Alle Benutzer unter Windows waren glücklich damit, mit nodejs und npm zu arbeiten.

Wählen Sie C:\ProgramData\nodejs als Installationsverzeichnis für nodejs und installieren Sie nodejs mit jedem Benutzer, der Mitglied der Administratorgruppe ist.

Erstellen Sie im Stammverzeichnis des Installationsverzeichnisses einen Ordner mit dem Namen npm-cache, der nachstehend C:\ProgramData\nodejs\npm-cache lauten würde.

Erstellen Sie im Stammverzeichnis des Installationsverzeichnisses einen Ordner mit dem Namen etc, der nachfolgend C:\ProgramData\nodejs\etc lauten würde.

Legen Sie NODE Umgebungsvariable als C:\ProgramData\nodejs fest.

Legen Sie NODE_PATH Umgebungsvariable als C:\ProgramData\nodejs\node_modules fest.

Stellen Sie sicher, dass die zuvor erstellte %NODE%-Umgebungsvariable (oder ihr Pfad) zur %PATH%-Umgebungsvariablen hinzugefügt wird.

%NODE_PATH%\npm\npmrc mit folgendem Inhalt bearbeiten prefix=C:\ProgramData\nodejs

Stellen Sie über die Eingabeaufforderung die globale Konfiguration so ein ...

npm config --global set prefix "C:\ProgramData\nodejs"

npm config --global set cache "C:\ProgramData\nodejs\npm-cache"

Es ist wichtig, dass die obigen Schritte vorzugsweise nacheinander ausgeführt werden, bevor Sie npm (npm -g install [email protected]) aktualisieren oder versuchen, ein npm-Modul zu installieren.

Die Durchführung der obigen Schritte half uns, nodejs als systemweite Installation auszuführen, die für alle Benutzer mit den entsprechenden Berechtigungen leicht verfügbar ist. Jeder Benutzer kann dann je nach Bedarf node und npm ausführen.

18
Damilola

Sie sollten diesen Befehl verwenden, um die globale Installationsflokation von npm-Paketen festzulegen

(git bash) npm config --global set prefix </path/you/want/to/use>/npm

(cmd/git-cmd) npm config --global set prefix <drive:\path\you\want\to\use>\npm

Sie können auch die npm-cache-Position direkt daneben betrachten. (wie bei einer normalen nodejs-Installation unter Windows)

(git bash) npm config --global set cache </path/you/want/to/use>/npm-cache

(cmd/git-cmd) npm config --global set cache <drive:\path\you\want\to\use>\npm-cache

11
davejoem

Der globale Standardordner ist C:\Users\{username}\AppData\Roaming\npm. Sie können (sofern noch nicht vorhanden) eine .npmrc-Datei in C:\Users\{username}\ erstellen und prefix = "path\\to\\yourglobalfolder"..__ hinzufügen. Beachten Sie, dass in Windows der Pfad durch double back-slash getrennt werden muss.

4
angeldsWang

Die Verwendung eines symbolischen Windows-Links aus den Pfaden C:\Users {Benutzername}\AppData\Roaming\npm und C:\Users {Benutzername}\AppData\Roaming\npm-cache funktionierte hervorragend für mich.

Wie füge ich einen symbolischen Link hinzu

 enter image description here

3
C0r3yh

Wenn Sie unter Windows den Ordner "npm" oder "nodejs" auf Datenträger C an einen anderen Speicherort verschieben möchten, der Knoten und npm jedoch einwandfrei funktionieren, können Sie einen Symlink folgendermaßen erstellen:

mklink /D "your_location_want_to_create_symlink" "location_of_node_npm_file"

Beispiel: 

mklink /D "C:\Users\MyUser\AppData\Roaming\npm" "D:\Nodejs Data\npm"

Nachdem Sie nun einen Symlink für den npm-Ordner erstellt haben, verweist dieser Symlink auf D:\Nodejs Data\npmAlles wird gut funktionieren.

1
Vinh Trieu

es sind nicht viele Konfigurationen erforderlich. Wechseln Sie einfach zu den erweiterten Systemeinstellungen. Kopieren Sie den Pfad, in den Sie Ihren Knoten installiert haben, und erstellen Sie einfach eine Umgebungsvariable.

0
Animesh Saxena

Die meisten Antworten habe ich hier ausprobiert, in meinem Fall scheint nichts zu funktionieren. Also habe ich den Temp-Ort in meinen Env-Variablen in C:\npm geändert. Dann fing es an zu arbeiten. Dies ist keine gute Idee, sondern eine vorübergehende Lösung.

0
Manoj

Löschen Sie den Knotenordner vollständig aus dem Programmdateiordner. Deinstallieren Sie node.js und installieren Sie es erneut . Change Path der Umgebungsvariablen PATH. Löschen Sie die .npmrc-Datei unter C:\Benutzer\IhrBenutzername

0
Santosh Kadam

Um das globale Standardinstallationsverzeichnis für node.js (npm) -Module in Windows zu ändern, müssen Sie 2 Pfade festlegen.

Überprüfen Sie zuerst den aktuellen Pfad, in dem die Knotenmodule installiert werden, wenn Sie versuchen, sie global zu installieren, indem Sie den folgenden Befehl verwenden:

npm list -g --depth = 0

Sie erhalten den aktuellen Pfad zurück, in dem die Knotenmodule gerade installiert werden. Beispiel: D:\vsc\TypeScript

Besuchen Sie nun den folgenden Pfad, um den Ordner npm und npm-cache anzuzeigen. C:\Benutzer\Benutzername (ODER-Nummer)\AppData\Roaming

Im Roaming-Ordner Ihres C-Laufwerks finden Sie die Ordner npm und npm-cache. Klicken Sie auf den Ordner + npm + und wählen Sie den Pfad aus. [Klicken Sie einfach auf den Balken. Der Pfad wird automatisch ausgewählt, kopieren Sie ihn.] Dies ist ein Pfadbild, das Sie auswählen müssen.

Sobald Sie diesen Pfad kopiert haben, setzen Sie ihn auf die Umgebungsvariablen mit einem Variablennamen Path (alles, was Sie als Namen auswählen können). Jetzt haben Sie den Pfad für Ihren npm-Ordner festgelegt. Jetzt müssen Sie das Präfix festlegen. Gehen Sie in den Ordner npm und überprüfen Sie, ob der Ordner node_module vorhanden ist. Wenn nicht, erstellen Sie einen neuen Ordner mit dem Namen node_modules. Sie alle globalen Module werden in diesem Ordner nach Abschluss aller Schritte kommen.

Letzter Schritt: Gehen Sie zu CMD und führen Sie den folgenden Befehl aus:

npm set Präfix C:\Benutzer\Benutzername (Nummer)\AppData\Roaming\npm\node_modules

Dies ist wieder derselbe Pfad, den wir für die Umgebungsvariable ausgewählt haben. Wir fügen lediglich einen weiteren Ordner in den Pfad ein und das ist node_module.

Alles klar .... Jetzt ausprobieren ... Es wird funktionieren ..

0
TechTutsIndia

Suchen Sie den aktuellen Pfad Ihrer globalen Knotenpaketinstallation, indem Sie den folgenden Befehl ausführen.

npm list -g --depth = 0

Ändern Sie diesen Pfad, um den Pfad zu korrigieren, indem Sie dem Befehl folgen.

npm set Präfix C:\Benutzer\Benutzername (Nummer)\AppData\Roaming\npm\node_modules

Es hat bei mir funktioniert. Lesen Sie meine vorherige Antwort zum besseren Verständnis.

0
TechTutsIndia