Jak w pełni odinstalować Cocoapods z komputera Mac?


49

Zainstalowałem Cocoapods w wersji 0.28, a teraz chcę go odinstalować z mojego komputera. Jak mogę to zrobić?

Odpowiedzi:


83

Najpierw określ, które wersje Cocoapod zostały zainstalowane, uruchamiając to w Terminalu:

gem list --local | grep cocoapods

Wyświetlane są dane wyjściowe podobne do tego:

cocoapods (0.27.1, 0.20.2)
cocoapods-core (0.27.1, 0.20.2)
cocoapods-downloader (0.2.0, 0.1.2)

Tutaj mam zainstalowane dwie wersje Cocoapods.

Aby całkowicie usunąć, wydaj następujące polecenia:

gem uninstall cocoapods
gem uninstall cocoapods-core
gem uninstall cocoapods-downloader

Jeśli masz zainstalowanych wiele wersji, tak jak ja, wyświetli się monit o wybranie konkretnej wersji lub wszystkich. Jeśli chcesz odinstalować określoną wersję, możesz również użyć -vprzełącznika w następujący sposób:

gem uninstall cocoapods -v 0.20.2

Uruchomiony gem list --local | grep cocoapodsponownie potwierdzi, że Cocoapods został usunięty.

W ukrytym folderze w katalogu domowym mogą znajdować się resztki artefaktów. Usuń je za pomocą:

rm -rf ~/.cocoapods

1
dodaj sudo przed każdym poleceniem, jeśli daje błąd typu „Nie masz uprawnień do zapisu w katalogu / usr / bin”. Na przykład odinstaluj cocoapods klejnot sudo
— Nasir Mahmood,

3
Możesz także usunąć pliki tworzone przez cocoapods za pomocą:rm -rf ~/.cocoapods
— Adam

Dziekuje panu. Jednak moje były w folderze Ruby, więc Terminal podpowiedział: zamiast tego wypróbuj to polecenie: „gem uninstall -i /Users/Rob/.rvm/gems/ruby-2.3.1@global cocoapods”
— Rob

lista klejnotów nie wyświetla strąków kakaowych jako zainstalowanych na moim komputerze Mac, ale w moim katalogu domowym znajduje się duży ukryty katalog cocoapods. Jak kontynuować? gdzie powinienem szukać resztek kokosów? Nie mogę polegać na klejnocie.
— Motti Shneor,

@MottiShneor Z dwóch powyższych uwag swoimi to: rm -rf ~/.cocoapods.
— neilco

29

Użyłem następującego skryptu bash, aby usunąć wszystkie odpowiednie klejnoty.

for i in $( gem list --local --no-version | grep cocoapods );
do 
    gem uninstall $i; 
done

Dodatkowo usuń, ~/.cocoapodsaby usunąć pamięć podręczną podspecs.

rm -rf ~/.cocoapods/

Oto pełna odpowiedź
— William Entriken,

8
to jest to samo i lepsze:gem list --local --no-version | grep cocoapods | xargs gem uninstall
— Eir Nym

Potrzebuję sudo do zrobienia gem uninstall, więc zmodyfikowałem bash w ten sposób (polecenie w jednym wierszu): for i in $( gem list --local --no-version | grep cocoapods ); do sudo gem uninstall $i; done
— Daniele,

9

gem list --local | grep cocoapods | awk '{print $1}' | xargs sudo gem uninstall


To jedyny, który pracował dla mnie, dzięki! Razem z sudo rm -fr ~/.cocoapods/repos/masternim ostatecznie wszystko usunąłem.
— turingtested

8

Łatwo, po prostu uruchom następujące polecenie, aby usunąć cały lub tylko określony klejnot cocoapod:

sudo gem uninstall cocoapods

1

Postępowałem zgodnie z tą odpowiedzią, ale w systemie Mac OS X El Capitan 10.11 napotkałem błąd jak poniżej podczas wykonywania gem uninstall -n cocoapodspolecenia

pranav-MacBook-Pro:~ pranavpranav$ gem uninstall -n cocoapods
ERROR:  While executing gem ... (Gem::CommandLineError)
    Please specify at least one gem name (e.g. gem build GEMNAME)

Aby rozwiązać problem z uprawnieniami, musisz użyć poniższego polecenia

sudo gem uninstall cocoapods -n /usr/local/bin

to działa dla mnie, dzięki
— James Yang

1

Właśnie to idealnie dla mnie działa.

  1. Odinstaluj CocoaPods (wybierz odinstalować wszystkie wersje):

    sudo gem odinstaluj cocoapods

  2. Usuń stare główne repozytorium:

    sudo rm -fr ~ / .cocoapods / repos / master


1
Byłoby to mniej mylące, gdybyś podał tylko informacje niezbędne do odinstalowania. Dodanie fragmentów dotyczących ponownej instalacji nie ma sensu jako część odpowiedzi na to pytanie.
— music2myear

dzięki, zrobię to następnym razem.
— BatyrCan

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.