Hur tar jag bort CMake efter att ha installerat det från källan?

TL; DR: kör sudo make uninstall i katalogen där du körde sudo make install tidigare.

du följde den här metoden för att installera en annan version av CMake. Det vill säga att du avinstallerade versionen från Ubuntus pakethanterare och manuellt laddade ner, kompilerade och installerade den själv från källkoden.

förutsatt att du kunde följa dessa instruktioner framgångsrikt, är versionen av CMake som tillhandahålls av Ubuntus pakethanterare (via paketet cmake) redan avinstallerad. Eftersom den version som du har installerat nu inte tillhandahålls av Ubuntus pakethanterare, utan istället den version du sammanställde och installerade själv, kör sudo apt-get purge cmake igen tar inte bort den.

eftersom du installerade cmake genom att kompilera den och sedan köra sudo make install, är lösningen för dig att:

  1. använd cd för att gå tillbaka till katalogen där du körde det kommandot.
  2. kör sudo make uninstall.

inte all programvara som kan installeras genom att köra make install har ett motsvarande uninstall mål som låter dig köra make uninstall för att ta bort det. Men CMake stöder detta.1

om du har raderat mappen där du körde sudo make install eller på annat sätt ändrat den, är det bästa sättet att bygga om och installera om det (var noga med att använda exakt samma version) för att få tillbaka möjligheten att köra sudo make uninstall. Det vill säga att du skulle följa samma installationssteg, från samma .tar.gz – fil och passera alla samma alternativ som du använde (om någon) till ./bootstrap. Om du bara sprang ./bootstrap utan argument efter det, gör det igen. Efter att ha kört sudo make install igen, vilket (ofarligt) skulle skriva över filerna som redan var installerade med kopior av sig själva, skulle du då kunna använda sudo make uninstall.

ett annat möjligt tillvägagångssätt, som jag starkt avskräcker dig från att göra, skulle vara att försöka lista ut exakt vilka filer och kataloger som skapades i installationen och att försöka ta bort bara dessa filer och kataloger men inga andra. Om du inte passerade --prefix till ./bootstrap när du sammanställde CMake installerade Den filer i /usr/local, men det är inte det enda programmet som använder den katalogen. Det skulle ha installerat filer i de olika underkatalogerna /usr/local, till exempel bin och lib (och andra), så bortsett från situationen där du vet att inget annat installerades i /usr/local, kräver det här alternativet mycket arbete.

1 Det är lätt att bli förvirrad om huruvida du kan avinstallera CMake genom att köra sudo make uninstall eftersom, som standard, när du använder CMake för att skapa bygga skript för din egen programvara, ingen uninstall mål genereras om du inte uttryckligen be om en. CMake själv är dock utformad för att enkelt avinstalleras, och dess källkod definierar dessa avinstallationsmål för sig själv. I Makefile som genereras från att köra ./bootstrap kan du se:

#=============================================================================# 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

du kan också söka efter avinstallationsstöd i dess CMakeLists.txt-fil.

för att vara säker testade jag detta med CMake 3.9.0, och det fungerar. Målet uninstall genereras och kör sudo make uninstall fungerar för att avinstallera CMake.

Lämna ett svar

Din e-postadress kommer inte publiceras.