TL; DR: Kjør sudo make uninstall
i katalogen der du kjørte sudo make install
før.
du fulgte denne metoden for å installere En annen versjon Av CMake. Dette er å si at du avinstallerte versjonen fra Ubuntus pakkebehandling og manuelt lastet ned, kompilert og installert det selv fra kildekoden.
Forutsatt at du kunne følge disse instruksjonene, er versjonen Av CMake levert Av Ubuntus pakkebehandling (via pakken cmake
) allerede avinstallert. Fordi versjonen du har installert nå, ikke er levert Av Ubuntus pakkebehandling, men i stedet den versjonen du kompilerte og installerte selv, kjører sudo apt-get purge cmake
igjen, fjerner den ikke.
siden du installerte cmake
ved å kompilere den og deretter kjøre sudo make install
, er løsningen for deg å:
- Bruk
cd
for å gå tilbake til katalogen der du kjørte den kommandoen. - Kjør
sudo make uninstall
.
Ikke all programvare som kan installeres ved å kjøre make install
har et tilsvarende uninstall
mål som lar deg kjøre make uninstall
for å fjerne det. Men CMake støtter dette.1
hvis du har slettet mappen der du kjørte sudo make install
, eller på annen måte endret den, er det beste alternativet å gjenoppbygge og installere det på nytt (pass på at du bruker nøyaktig samme versjon) for å få tilbake muligheten til å kjøre sudo make uninstall
. Det vil si at du vil følge de samme installasjonstrinnene, fra den samme .tar.gz
– filen og sende alle de samme alternativene du brukte (hvis noen) til ./bootstrap
. Hvis du bare kjørte ./bootstrap
uten argumenter etter det, gjør du det igjen. Etter å ha kjørt sudo make install
igjen, som ville (ufarlig) overskrive filene som allerede var installert med kopier av seg selv, vil du da kunne bruke sudo make uninstall
.
En annen mulig tilnærming, som jeg sterkt fraråder deg fra å gjøre, ville være å prøve å finne ut nøyaktig hvilke filer og kataloger som ble opprettet i installasjonen, og å prøve å fjerne bare de filene og katalogene, men ingen andre. Hvis du ikke passerte --prefix
til ./bootstrap
når Du kompilerte CMake, installerte den filer i /usr/local
, men det er ikke det eneste programmet som bruker den katalogen. Det ville ha installert filer i de forskjellige underkatalogene /usr/local
, for eksempel bin
og lib
(og andre), så bortsett fra situasjonen der du ikke vet noe annet ble installert i /usr/local
, krever dette alternativet mye arbeid.
1 det er lett å bli forvirret om hvorvidt Du kan avinstallere CMake ved å kjøre sudo make uninstall
fordi, som standard, når Du bruker CMake å lage bygge skript for din egen programvare, ingen uninstall
mål genereres med mindre du eksplisitt ber om en. Imidlertid Er CMake selv designet for å enkelt avinstalleres, og kildekoden definerer disse avinstalleringsmålene for seg selv. I Makefile
generert fra å kjø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øke etter avinstallere støtte I Sine CMakeLists.txt-fil.
for å være sikker, testet jeg dette med CMake 3.9.0, og det fungerer. Målet uninstall
genereres og kjører sudo make uninstall
arbeider for å avinstallere CMake.