hvordan fjerner jeg CMake efter installation fra kilden?

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:

  1. brug cd til at gå tilbage til den mappe, hvor du kørte denne kommando.
  2. 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.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.