TL;DR: rulați sudo make uninstall
în directorul în care ați rulat sudo make install
înainte.
ați urmat această metodă de instalare a unei versiuni diferite de CMake. Aceasta înseamnă că ați dezinstalat versiunea furnizată de managerul de pachete Ubuntu și ați descărcat-o manual, ați compilat-o și ați instalat-o singur din codul sursă.
presupunând că ați reușit să urmați aceste instrucțiuni cu succes, versiunea CMake furnizată de managerul de pachete Ubuntu (prin pachetul cmake
) este deja dezinstalată. Deoarece versiunea pe care ați instalat-o acum nu este furnizată de managerul de pachete Ubuntu, ci în schimb versiunea pe care ați compilat-o și ați instalat-o, rulând sudo apt-get purge cmake
din nou nu o elimină.
de când ați instalat cmake
compilându-l și apoi rulând sudo make install
, soluția este pentru dvs:
- utilizați
cd
pentru a reveni la directorul în care ați rulat acea comandă. - rulați
sudo make uninstall
.
nu toate programele software care pot fi instalate rulând make install
au o țintă uninstall
corespunzătoare care vă permite să rulați make uninstall
pentru a o elimina. Dar CMake susține acest lucru.1
dacă ați șters folderul în care ați rulat sudo make install
sau l-ați schimbat în alt mod, atunci cel mai bun pariu este să îl reconstruiți și să îl reinstalați (asigurați-vă că utilizați exact aceeași versiune) pentru a recupera capacitatea de a rula sudo make uninstall
. Adică, ați urma aceiași pași de instalare, pornind de la același fișier .tar.gz
și trecând toate aceleași opțiuni pe care le-ați folosit (dacă există) la ./bootstrap
. Dacă tocmai ați rulat ./bootstrap
fără argumente după aceasta, faceți asta din nou. După rularea sudo make install
din nou, care ar suprascrie (inofensiv) fișierele care au fost deja instalate cu copii ale lor, veți putea apoi să utilizați sudo make uninstall
.
o altă abordare posibilă, pe care vă descurajez puternic să o faceți, ar fi să încercați să aflați exact ce fișiere și directoare au fost create în instalare și să încercați să eliminați doar acele fișiere și directoare, dar nu și altele. Dacă nu ați trecut --prefix
la ./bootstrap
când ați compilat CMake, atunci a instalat fișiere în /usr/local
, dar nu este singurul program care folosește acel director. Ar fi instalat fișiere în diferitele subdirectoare ale /usr/local
, cum ar fi bin
și lib
(și altele), astfel încât, în afară de situația în care știți că nimic altceva nu a fost instalat în /usr/local
, această opțiune necesită multă muncă.
1 este ușor de a deveni confuz despre dacă este sau nu puteți dezinstala CMake prin rularea sudo make uninstall
deoarece, în mod implicit, atunci când utilizați CMake pentru a crea script-uri construi pentru propriul software, nu uninstall
țintă este generat dacă nu cere în mod explicit pentru unul. Cu toate acestea, CMake în sine este proiectat pentru a fi ușor dezinstalat, iar codul său sursă definește acele ținte de dezinstalare pentru sine. În Makefile
generat din rularea ./bootstrap
puteți vedea:
#=============================================================================# 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
de asemenea, puteți căuta asistență pentru dezinstalare în CMakeLists.fișier txt.
pentru a fi sigur, Am testat acest lucru cu CMake 3.9.0, și funcționează. Obiectivul uninstall
este generat și rulează sudo make uninstall
funcționează pentru a dezinstala CMake.