TL; DR: Juokse sudo make uninstall
hakemistossa, jossa juoksit sudo make install
ennen.
noudatit tätä tapaa asentaa Cmaken eri versio. Tämä tarkoittaa sitä, että olet poistanut Ubuntun paketinhallinnan tarjoaman version ja ladannut, koonnut ja asentanut sen itse manuaalisesti lähdekoodista.
olettaen, että pystyit noudattamaan näitä ohjeita onnistuneesti, Ubuntun paketinhallinnan (cmake
– paketin kautta) tarjoama Cmaken versio on jo poistettu käytöstä. Koska nyt asentamasi versio ei ole Ubuntun paketinhallinnan tarjoama, vaan itse kokoamasi ja asentamasi versio, käynnissä oleva sudo apt-get purge cmake
uudelleen ei poista sitä.
koska asensit cmake
kokoamalla sen ja ajamalla sitten sudo make install
, ratkaisu on sinun:
- käytä
cd
palataksesi hakemistoon, jossa suoritit komennon. - Juokse
sudo make uninstall
.
kaikilla ohjelmilla, jotka voidaan asentaa ajamalla make install
, ei ole vastaavaa uninstall
kohdetta, jonka avulla voit ajaa make uninstall
sen poistamiseksi. CMake kuitenkin tukee tätä.1
jos olet poistanut kansion, jossa ajoit sudo make install
, tai muuten muuttanut sitä, niin paras vaihtoehto on rakentaa ja asentaa se uudelleen (muista käyttää täsmälleen samaa versiota) saadaksesi takaisin kyvyn suorittaa sudo make uninstall
. Toisin sanoen noudattaisit samoja asennusvaiheita, aloittaen samasta .tar.gz
– tiedostosta ja siirtäen kaikki käyttämäsi (mahdolliset) asetukset ./bootstrap
: lle. Jos vain juoksit ./bootstrap
ilman argumentteja sen jälkeen, tee se uudestaan. Ajettuasi sudo make install
uudelleen, joka (harmittomasti) korvaisi jo asennetut tiedostot kopioilla itsestään, voit käyttää sudo make uninstall
.
toinen mahdollinen lähestymistapa, jota en suosittele teitä tekemään, olisi yrittää selvittää, mitä tiedostoja ja hakemistoja asennuksessa on luotu, ja yrittää poistaa vain nämä tiedostot ja hakemistot, mutta ei muita. Jos et läpäissyt --prefix
– tiedostoa ./bootstrap
kootessasi Cmaken, se asensi tiedostoja /usr/local
– kansioon, mutta se ei ole ainoa ohjelma, joka käyttää kyseistä hakemistoa. Se olisi asentanut tiedostoja eri alikansioihin /usr/local
, kuten bin
ja lib
(ja muut), joten lukuun ottamatta tilannetta, jossa et tiedä mitään muuta asennettiin /usr/local
, tämä valinta vaatii paljon työtä.
1 on helppo hämmentyä siitä, voiko Cmaken poistaa ajamalla sudo make uninstall
, koska oletuksena, kun käytät Cmakea luodaksesi skriptejä omalle ohjelmistollesi, ei uninstall
kohdetta synny, ellet nimenomaisesti pyydä sitä. CMake itsessään on kuitenkin suunniteltu helposti poistettavaksi, ja sen lähdekoodi määrittelee itse poistettavat kohteet. Juoksusta ./bootstrap
syntyneessä Makefile
näet:
#=============================================================================# 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
voit myös etsiä uninstall-tukea sen Cmakelistoista.txt-tiedosto.
varmuuden vuoksi testasin tätä CMake 3.9: llä.0, ja se toimii. uninstall
kohde luodaan ja käynnissä sudo make uninstall
toimii Cmaken poistamiseksi.