Ich bin nicht 100% sicher, aber ich glaube, ich habe Node v5 vom Windows-Installationsprogramm sowohl auf meinem Heim- als auch auf meinem Büro-PC installiert.
Auf meinem Heim-PC finden globale Installationen unter% APPDATA% statt:
(dev) go|c:\srv> which lessc
c:\users\bjorn\appdata\roaming\npm\lessc
c:\users\bjorn\appdata\roaming\npm\lessc.cmd
Auf meinem Büro-PC werden sie unter Programmdateien angezeigt:
(dev) go|w:\srv> which lessc
c:\program files\nodejs\lessc
c:\program files\nodejs\lessc.cmd
Ich muss PyCharms Datei-Watcher den vollständigen Pfad zu einer Reihe dieser globalen Tools zur Verfügung stellen. Da die von mir freigegebene Projektdatei sinnvoll ist, sollten keine globalen Ressourcen in einem Benutzerordner vorhanden sein.
Warum landen die globalen Installationen in verschiedenen Ordnern und wie kann ich sie an einen Ort zwingen, der allen Teammitgliedern gemeinsam ist?
Antworten:
Laut: https://docs.npmjs.com/files/folders
Die Dokumente sind möglicherweise etwas veraltet, erklären jedoch, warum globale Installationen in verschiedenen Verzeichnissen landen können:
(dev) go|c:\srv> npm config ls -l | grep prefix ; prefix = "C:\\Program Files\\nodejs" (overridden) prefix = "C:\\Users\\bjorn\\AppData\\Roaming\\npm"
Basierend auf den anderen Antworten scheint es, dass die Überschreibung jetzt der Standardspeicherort unter Windows ist und dass ich möglicherweise meine Office-Version installiert habe, bevor diese Überschreibung implementiert wurde.
Dies schlägt auch eine Lösung vor, um alle Teammitglieder dazu zu bringen, Globals im selben absoluten Pfad relativ zu ihrem PC zu speichern, dh (als Administrator ausgeführt):
mkdir %PROGRAMDATA%\npm setx PATH "%PROGRAMDATA%\npm;%PATH%" /M npm config set prefix %PROGRAMDATA%\npm
Öffnen Sie ein neues cmd.exe-Fenster und installieren Sie alle globalen Pakete neu.
Erklärung (von lineno.):
setx .. /M
daher den Systempfad (unter HKEY_LOCAL_MACHINE). Dafür müssen Sie dies in einer Shell mit Administratorrechten ausführen.npm
, diesen neuen Pfad zu verwenden. (Hinweis: Der Ordner ist in% PATH% in dieser Shell nicht sichtbar, daher müssen Sie ein neues Fenster öffnen.)quelle
setx PATH "%PROGRAMDATA%\npm;%PATH%" /M
keinen neuen Wert voran, sondern ersetzt alles (in PowerShell).Dies sind typische npm-Pfade, wenn Sie ein Paket global installieren:
quelle
%APPDATA%
befindet sich unter einem Benutzerordner, und PyCharm scheint keine Umgebungsvariablen zu akzeptieren. Ich denke, dies ist dann ein No-Go.Drücken Sie einfach die Windows-Taste, geben Sie% APPDATA% ein und geben Sie die Eingabetaste ein.
Oben finden Sie den Speicherort des Ordners \ npm \ node_modules. Hier befinden sich globale Module in Ihrem System.
quelle
%PROGRAMFILES%\nodejs
ist meine erste Frage (warum landen sie in verschiedenen Ordnern auf meinen Heim- / Büro-PCs?). Der Kontext meiner Frage (wie angegeben) ist, dass ich den Pfad zu diesen global npm installierten Tools für die PyCharm-IDE bereitstellen muss, damit andere Teammitglieder davon profitieren können, dass ich sie für unsere Projekte korrekt einrichte. Da (a) PyCharm bei der Angabe der ausführbaren Datei keine Umgebungsvariablen zulässt und (b)%APPDATA%=c:\Users\bjorn\..
ich APPDATA hier nicht verwenden kann.Wenn Sie nur herausfinden möchten, wo npm Ihr globales Modul installiert (Titel dieses Threads), sehen Sie sich die Ausgabe beim Ausführen an
npm install -g sample_module
quelle
npm config ls -l | grep prefix
und selbst wenn dies nicht der Fall wäre, wäre das richtige Verfahren, eine neue, eng fokussierte Frage zu stellen ...