Wie entfernt man ein per Tar installiertes Node.js aus CentOS 7?

Wie entfernt man ein per Tar installiertes Node.js aus CentOS 7?

Auf einem CentOS 7-Server ist v0.12.7Node.js installiert und die Installation erfolgte mit einem Tar. Dies führt zu Konflikten, wenn ich versuche, eine modernere Version von Node.js mit yum zu installieren. Welche konkreten Schritte müssen unternommen werden (d. h. welche konkreten Befehle müssen eingegeben werden), um das installierte Tar sicher zu entfernen v.0.12.7?

Dertarv0.12.7finden Sie unter diesem Link ..

Falls es von Bedeutung ist, tarsind die auf dem Server installierten Dateien wie folgt:

[root@localhost ~]# cd /
[root@localhost /]# find . -type f -iname "*.tar"
find: ‘./run/user/1000/gvfs’: Permission denied
./opt/node-v0.12.7/deps/npm/node_modules/tar/test/dir-normalization.tar
./opt/node-v0.12.7/deps/npm/test/fixtures/gitignore-and-npmignore-2.tar
./opt/node-v0.12.7/deps/npm/test/fixtures/gitignore-and-npmignore.tar
./usr/local/lib/node_modules/npm/test/fixtures/gitignore-and-npmignore-2.tar
./usr/local/lib/node_modules/npm/test/fixtures/gitignore-and-npmignore.tar
./usr/local/lib/node_modules/npm/node_modules/tar/test/dir-normalization.tar
[root@localhost /]# 

Der Konflikt zwischen den beiden Versionen ist aus den folgenden Befehlen ersichtlich:

[root@localhost /]# node --version
v0.12.7
[root@localhost /]# which node
/usr/local/bin/node
[root@localhost /]# /usr/bin/node -v
v5.6.0
[root@localhost /]#   

Wie entferne ich also tar-installed sicher v0.12.7? Welche spezifischen Befehle müssen eingegeben werden?


VERSUCH DEN ANSATZ VON @Gilles:


Gemäß den Vorschlägen in der Antwort von @Gille habe ich Folgendes versucht:

[root@localhost local]# cd /usr/local/bin
[root@localhost bin]# ls
bower  express  grunt  gulp  node  nodemon  npm  yo
[root@localhost bin]# 

Ich habe daher die folgenden Befehle ausprobiert, die anscheinend gelöscht haben v0.12.7, aber ich warte noch, bevor ich die folgende Antwort als akzeptiert markiere, da ein nachgelagerter Fehler dokumentiert istin diesem anderen Beitrag. Für jede Hilfe bezüglich des nachfolgenden Fehlers bin ich sehr dankbar. Hier ist der Code, der hier funktioniert zu haben scheint:

rm /usr/local/bin/node
rm /usr/local/bin/npm
\rm -R /opt/node-v0.12.7/

Antwort1

Es ist unmöglich, Ihnen spezifische Befehle zur Durchführung der Deinstallation zu geben, da Sie uns nicht die spezifischen Befehle geben, die zur Durchführung der Installation verwendet wurden. Basierend auf den von Ihnen gegebenen Informationen ist dies jedoch keine schwierige Aufgabe. Ich empfehle Ihnen, Ihre laufenden Bemühungen einzustellen – Sie scheinen einige sehr komplizierte und nutzlose Dinge zu tun.

Die manuell installierte Version hat die Binärdatei in /usr/local/bin. Das ist gut: Es bedeutet, dass derjenige, der sie installiert hat, kein komplettes Chaos angerichtet hat. Nur zur Erinnerung: /bin, /lib, /binund /usraußerhalb /usr/localgehören zum Paketmanager; /usr/localgehört dem Systemadministrator. Sie haben manuell installierte Software unter /usr/local; das ist in Ordnung.

Das Binärpaket von node.js legt Dateien in einem gemeinsamen Baum ab, der Folgendes enthält:

  • Einige Dokumentationsdateien im obersten Verzeichnis.
  • bin/nodeUndbin/npm
  • share/man/man1/node.1
  • lib/node_modules
  • share/systemtap/tapset/node.stp
  • include/node

Da nodein steht , suchen Sie auch /usr/local/binnach den anderen Dateien und Verzeichnissen darunter , z. B. usw. Wenn Sie sie finden, entfernen Sie sie. Wenn Sie sie nicht finden, wurden sie möglicherweise woanders oder überhaupt nicht installiert. Sie können versuchen, herauszufinden, wo sie sich befinden (falls sie vorhanden sind: die Header-Dateien darunter und die Systemtap-Datei sind nicht für jeden nützlich)./usr/local/usr/local/share/man/man1/node.1locateinclude

Es sieht so aus, als /opt/node-v0.12.7wäre es der Quellbaum. Den können Sie entfernen.

Wenn Sie Bedenken haben, eine Datei zu entfernen, die Sie aber dennoch benötigen, stellen Sie sicher, dass Ihre Backups auf dem neuesten Stand sind – oder verschieben Sie die Dateien einfach aus dem Weg bzw. bewahren Sie ein Tarball davon auf, während Sie testen, ob Ihr System noch funktioniert.

Wenn du bistWirklichbesorgt und in Eile, die Wahrscheinlichkeit ist groß, dass die manuell installierte Version nicht mit der RPM-Version in Konflikt steht – es gibt nur diese nodeBinärdatei (und wahrscheinlich auch), die im PATH npmvor der Version in liegt . Durch Umbenennen in (und ebenso für ) und oder wird die systeminstallierte Version aufgerufen./usr/bin/usr/local/bin/node/usr/local/bin/node-0.12.7npmnode#!/usr/bin/env node

verwandte Informationen