
Ok, also habe ich NodeJS mithilfe von installiert. Dadurch cinst nodejs
wird NodeJS mit einer Abhängigkeit von NPM in das Chocolatey-Bin-Verzeichnis installiert.
Dann wurde mir klar, dass ich stattdessen NodeJS.Install installieren wollte. Dadurch wird NodeJS unter Verwendung der Hauptinstallation von NodeJS mit einer Abhängigkeit von NPM in meinem ProgramFiles-Verzeichnis installiert.
Meine Frage:
Nun sind beide installiert. Welches wird verwendet, wenn ich einen Node- oder NPM-Befehl ausführe, und wie deinstalliere ich NodeJS aus dem Chocolatey-Bin, wenn cuninst nodejs
es nicht funktioniert?
Antwort1
Die installierte Version von nodejs wird mit installiertem npm geliefert, Sie brauchen das also nicht. Das Entfernen des nodejs-Pakets reicht jedoch nicht aus, da es sich um ein Metapaket handelt, das entweder auf die Pakete *.install
oder verweist *.commandline
.
Gehen Sie dazu bitte wie folgt vor:
- Stellen Sie sicher, dass Sie die aktuellere Version von Choco (0.9.9.x-Reihe) verwenden.
choco uninstall npm -dvyaf
choco uninstall nodejs.commandline -dvyaf
Dadurch werden alle Versionen von npm und die Binärdateien (Shim-Weiterleitungen) entfernt, die sich im Pfad befinden. Anschließend werden die portable Version von nodejs (nodejs.commandline) und alle Versionen entfernt. Dies sind erzwungene Entfernungen, um die Verzeichnisse vollständig zu bereinigen.
Wenn Sie dies bereits teilweise getan haben, gehen Sie einfach in das %ChocolateyInstall%\lib
Verzeichnis und entfernen Sie die Ordner, die mit npm
und beginnen nodejs.commandline
.
Antwort2
Ok, ich habe also ein bisschen experimentiert und wie sich herausgestellt hat, cuninst nodejs
funktioniert das nicht, weil NodeJS im Paket selbst ein chocolateyUninstall.ps1 erfordert, das viele der derzeit verfügbaren Pakete nicht haben.
Wenn ich also den Befehl ausführe:
Schokoliste - nur lokal
Ich komme zurück:
curl 7.28.1
...
...
nodejs.commandline 0.10.35
nodejs.install 0.10.35
npm 1.4.9
Das Element, das ich entfernen möchte, nodejs 0.10.35
ist die Chocolatey-Bin-Installation. Die anderen möchte ich behalten. Ich verwende also einfach den Namen, wie ich ihn sehe, wenn ich meine Pakete aufliste, nodejs 0.10.35
oder anders ausgedrückt:
C:\Windows\System32> cuninst nodejs 0.10.35
Wenn ich jetzt laufe:
Schokoliste - nur lokal
Ich komme zurück:
curl 7.28.1
...
...
nodejs 0.10.35
nodejs.commandline 0.10.35
nodejs.install 0.10.35
npm 1.4.9
Jetzt ist die zusätzliche Version, die ich beim ersten Mal eingerichtet habe, weg. Es wurden nie 2 Versionen von NPM eingerichtet, da es sich um eine Abhängigkeit handelte, die bereits vorhanden war, als ich NodeJS.Install das zweite Mal einrichtete. Auch als ich beide installiert hatte, wurde standardmäßig dieChocolatey/binVersion aus irgendeinem Grund nicht dieProgrammdateienVersion. Ich fand das komisch.
Bitte beantworten Sie diese Frage, wenn etwas, was ich sage, falsch zu sein scheint. Ich bin kein Power-User, wenn es um Chocolatey geht. Wenn Sie also sicher wissen, dass meine Antwort in irgendeiner Weise falsch ist, werde ich Ihre Antwort überprüfen und sie als richtig markieren, wenn sie meine Antwort tatsächlich korrigiert.