TL;DR: Kør sudo make uninstall
i den mappe, hvor du løb sudo make install
før.
du fulgte denne metode til installation af en anden version af CMake. Dette vil sige, at du afinstallerede den version, der blev leveret af Ubuntu ‘ s pakkehåndtering, og manuelt hentede, kompilerede og installerede den selv fra kildekoden.
forudsat at du var i stand til at følge disse instruktioner med succes, er versionen af CMake leveret af Ubuntu ‘ s package manager (via pakken cmake
) allerede afinstalleret. Fordi den version, du har installeret nu, ikke leveres af Ubuntu ‘ s package manager, men i stedet den version, du kompilerede og installerede dig selv, kører sudo apt-get purge cmake
igen, fjerner den ikke.
siden du installerede cmake
ved at kompilere det og derefter køre sudo make install
, er løsningen for dig at:
- brug
cd
til at gå tilbage til den mappe, hvor du kørte denne kommando. - Kør
sudo make uninstall
.
ikke alle programmer, der kan installeres ved at køre make install
, har et tilsvarende uninstall
mål, så du kan køre make uninstall
for at fjerne det. Men CMake støtter dette.1
hvis du har slettet den mappe, hvor du kørte sudo make install
, eller på anden måde ændret den, er din bedste chance at genopbygge og geninstallere den (Sørg for at bruge nøjagtig den samme version) for at få muligheden for at køre sudo make uninstall
tilbage. Det vil sige, du ville følge de samme installationstrin, startende fra den samme .tar.gz
fil og overføre alle de samme indstillinger, du brugte (hvis nogen) til ./bootstrap
. Hvis du lige løb ./bootstrap
uden argumenter efter det, skal du gøre det igen. Efter at have kørt sudo make install
igen, hvilket ville (harmløst) overskrive de filer, der allerede var installeret med kopier af sig selv, ville du så kunne bruge sudo make uninstall
.
en anden mulig tilgang, som jeg kraftigt fraråder dig at gøre, ville være at prøve at finde ud af nøjagtigt, hvilke filer og mapper der blev oprettet i installationen, og at prøve at fjerne netop disse filer og mapper, men ingen andre. Hvis du ikke bestod --prefix
til ./bootstrap
, da du kompilerede CMake, installerede den filer i /usr/local
, men det er ikke det eneste program, der bruger denne mappe. Det ville have installeret filer i de forskellige undermapper på /usr/local
, såsom bin
og lib
(og andre), så bortset fra den situation, hvor du ikke ved, at der ikke blev installeret noget andet i /usr/local
, kræver denne mulighed meget arbejde.
1 Det er nemt at blive forvirret om, hvorvidt du kan afinstallere CMake ved at køre sudo make uninstall
, fordi, som standard, når du bruger CMake til at oprette build scripts til dit eget program, ingen uninstall
mål genereres, medmindre du udtrykkeligt beder om en. Imidlertid er CMake selv designet til let at blive afinstalleret, og dens kildekode definerer disse afinstallationsmål for sig selv. I Makefile
genereret fra at køre ./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 også søge efter Afinstaller support i dens CMakeLists.tekstfil.
for at være sikker testede jeg dette med CMake 3.9.0 og det virker. uninstall
målet genereres og kører sudo make uninstall
arbejder for at afinstallere cmake.