miten CMake poistetaan, kun se on asennettu lähdekoodista?

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:

  1. käytä cd palataksesi hakemistoon, jossa suoritit komennon.
  2. 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.

Vastaa

Sähköpostiosoitettasi ei julkaista.