So verwenden Sie „Update-Alternativen“, um mehrere installierte Versionen derselben App zu verwalten

So verwenden Sie „Update-Alternativen“, um mehrere installierte Versionen derselben App zu verwalten

Beim Kompilieren oder Ausführen einer App stoße ich häufig auf pfadbezogene Probleme. Ich habe zwei Versionen vonKnotenin meinem System, einer ist aus dem offiziellen Repo, der andere manuell aus dem Quellcode installiert. Heute wollte ich kompilierenKlammern, wenn ich npm installes ausführe, werde ich aufgefordert, eine neuere Version wie 1.4.20 zu verwenden. Die Standardversion davon ist in, /usr/bin/npmwas nicht funktioniert hat. Die manuell installierte Version ist in/usr/local/bin/npm

Gibt es eine Möglichkeit, dies mit oder einer anderen Methode /usr/local/bin/npmals Standardpfad festzulegen ?update-alternatives

Sie können beispielsweise den Standardtexteditor festlegen mit

    sudo update-alternatives --config editor

Antwort1

Ich habe herausgefunden, wie das geht. Zuerst habe ich den Standardpfad überprüft, npmder eine ältere Version (1.3.10) ist. Dabei /usr/bin/npmist mir aufgefallen, dass es sich um einen symbolischen Link zu handelt. /usr/share/npm/bin/npm-cli.jsIch habe ihn entfernt.

    sudo unlink /usr/bin/npm

Dann habe ich folgenden Befehl versucht

   sudo update-alternatives --install /usr/bin/npm  npm /usr/local/bin/npm 10
   sudo update-alternatives --install /usr/bin/npm  npm /usr/share/npm/bin/npm-cli.js 20

Jetzt kann ich ganz einfach zwischen ihnen wechseln, indem ich

  sudo update-alternatives --config npm      

Es funktioniert gut

Antwort2

Da Sie erwähnt habenKnoten, möchte ich darauf hinweisen, dass dies eine gute Gelegenheit ist, dieN Installationsmanager für NodeJS. Wenn ich einen Paketmanager auf „höherer Ebene“ wie diesen zur Verfügung habe, verwende ich ihn normalerweiseUpdate-Alternativen. Es ist meiner Meinung nach im Allgemeinen weniger kompliziert, als zu versuchen, wichtige Dateien selbst aufzuspüren. Trotzdem denke ich,Update-Alternativenwird immer noch funktionieren.

verwandte Informationen