TL; DR: Führen Sie sudo make uninstall
in dem Verzeichnis aus, in dem Sie zuvor sudo make install
ausgeführt haben.
Sie haben diese Methode zum Installieren einer anderen Version von CMake befolgt. Dies bedeutet, dass Sie die vom Paketmanager von Ubuntu bereitgestellte Version deinstalliert und manuell heruntergeladen, kompiliert und selbst aus dem Quellcode installiert haben.
Angenommen, Sie konnten diese Anweisungen erfolgreich befolgen, ist die vom Paketmanager von Ubuntu (über das Paket cmake
) bereitgestellte Version von CMake bereits deinstalliert. Da die Version, die Sie jetzt installiert haben, nicht vom Paketmanager von Ubuntu bereitgestellt wird, sondern von der Version, die Sie selbst kompiliert und installiert haben, wird sie durch erneutes Ausführen von sudo apt-get purge cmake
nicht entfernt.
Da Sie cmake
installiert haben, indem Sie es kompilieren und dann sudo make install
ausführen, ist die Lösung für Sie:
- Verwenden Sie
cd
, um zu dem Verzeichnis zurückzukehren, in dem Sie diesen Befehl ausgeführt haben. - Lauf
sudo make uninstall
.
Nicht jede Software, die durch Ausführen von make install
installiert werden kann, hat ein entsprechendes uninstall
-Ziel, sodass Sie make uninstall
ausführen können, um es zu entfernen. Aber CMake unterstützt dies.1
Wenn Sie den Ordner, in dem Sie sudo make install
ausgeführt haben, gelöscht oder anderweitig geändert haben, ist es am besten, ihn neu zu erstellen und neu zu installieren (stellen Sie sicher, dass Sie genau dieselbe Version verwenden), um die Fähigkeit zum Ausführen von sudo make uninstall
. Das heißt, Sie würden die gleichen Installationsschritte ausführen, beginnend mit derselben .tar.gz
-Datei und alle von Ihnen verwendeten Optionen (falls vorhanden) an ./bootstrap
übergeben. Wenn Sie gerade ./bootstrap
ohne Argumente ausgeführt haben, wiederholen Sie dies. Nachdem Sie sudo make install
erneut ausgeführt haben, wodurch die bereits installierten Dateien (harmlos) mit Kopien von sich selbst überschrieben würden, können Sie sudo make uninstall
.
Ein anderer möglicher Ansatz, von dem ich Sie dringend abrate, wäre, genau herauszufinden, welche Dateien und Verzeichnisse in der Installation erstellt wurden, und zu versuchen, nur diese Dateien und Verzeichnisse, aber keine anderen zu entfernen. Wenn Sie beim Kompilieren von CMake --prefix
nicht an ./bootstrap
übergeben haben, wurden Dateien in /usr/local
installiert, aber es ist nicht das einzige Programm, das dieses Verzeichnis verwendet. Es hätte Dateien in den verschiedenen Unterverzeichnissen von /usr/local
installiert, z. B. bin
und lib
(und andere). Abgesehen von der Situation, in der Sie wissen, dass nichts anderes in /usr/local
installiert wurde, erfordert diese Option viel Arbeit.
1 Es ist leicht, verwirrt darüber zu werden, ob Sie CMake deinstallieren können, indem Sie sudo make uninstall
ausführen, da standardmäßig kein uninstall
-Ziel generiert wird, wenn Sie CMake zum Erstellen von Build-Skripten für Ihre eigene Software verwenden, es sei denn, Sie fragen ausdrücklich danach. CMake selbst ist jedoch so konzipiert, dass es leicht deinstalliert werden kann, und sein Quellcode definiert diese Deinstallationsziele für sich. In dem Makefile
, das beim Ausführen von ./bootstrap
generiert wurde, können Sie sehen:
#=============================================================================# Target rules for targets named uninstall# Build rule for target.uninstall: cmake_check_build_system $(MAKE) -f CMakeFiles/Makefile2 uninstall.PHONY : uninstall# fast build rule for target.uninstall/fast: $(MAKE) -f CMakeFiles/uninstall.dir/build.make CMakeFiles/uninstall.dir/build.PHONY : uninstall/fast
Sie können auch in den CMakeLists nach Deinstallationsunterstützung suchen.txt-Datei.
Um sicherzugehen, habe ich dies mit CMake 3.9 getestet.0, und es funktioniert. Das uninstall
-Ziel wird generiert und das Ausführen von sudo make uninstall
funktioniert, um CMake zu deinstallieren.