pod install -bash: pod: nie znaleziono polecenia

223

Zainstalowałem podjakiś czas temu. Jednak przestało działać, więc pracuję nad tym ponownie.

Jednak prawie natychmiast natrafiam na problem:

pod install
-bash: pod: command not found

Wszelkie sugestie, dlaczego tak się stało?

Snowcrash
źródło

Odpowiedzi:

426

OK, znalazłem problem. Ulepszyłem Ruby jakiś czas temu i wysadziłem cały ładunek klejnotów. Rozwiązanie:

sudo gem install cocoapods
Snowcrash
źródło
5
jeśli „$ sudo gem install cocoapods” nie działa dla Ciebie z błędem instalowania cocoapods: activesupport wymaga wersji Ruby> = 2.2.2, to zobacz tę odpowiedź stackoverflow.com/questions/32871329/...
Martin Belcher - AtWrk
5
Dlaczego sudo jest tutaj potrzebne? czy instalowanie z sudo nie jest złą praktyką?
vikramvi
1
Tak, nie musisz używać sudo , patrz poniżej stackoverflow.com/a/47333482/1158376
Per Quested Aronsson
90

Instalowanie CocoaPods w systemie OS X 10.11

Te instrukcje zostały przetestowane na wszystkich wersjach beta i ostatecznej wersji El Capitan.

Niestandardowy GEM_HOME

Jest to rozwiązanie, gdy pojawia się powyższy błąd

$ mkdir -p $HOME/Software/ruby
$ export GEM_HOME=$HOME/Software/ruby
$ gem install cocoapods
[...]
1 gem installed
$ export PATH=$PATH:$HOME/Software/ruby/bin
$ pod --version
0.38.2
Babul Prabhakar
źródło
Nie działało dla mnie. Kiedy próbuję „gem install cocopods”, pojawia się błąd „obsługa aktywna wymaga wersji Ruby> = 2.2.2”.
Zvi
52

Musisz ponownie uruchomić Terminal po zainstalowaniu klejnotu. Lub możesz po prostu otworzyć nową kartę Terminal do naprawy.

Shaheen Ghiassy
źródło
2
Zrobiłem to, ale nic się jeszcze nie zmieniło, nie rozpoznaje mojej komendy na kapsułę. Zainstalowałem cocoapody
Nickool,
3
Alternatywnie możesz zadzwonić, . ~/.profileco spowoduje ponowne ustawienie ruby ​​env.
yincrash,
50

Ten krok działa poprawnie.

Instalacja POD

[1] Otwórz terminal i wpisz:

sudo gem install cocoapods

Gem zostanie zainstalowany w Ruby w bibliotece systemowej. Lub spróbuj na 10.11 Mac OSX El Capitan, wpisz:

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

Jeśli wystąpi błąd „obsługa aktywna wymaga wersji Ruby> = 2.xx”, najpierw zainstaluj najnowszą obsługę aktywną, wpisując terminal.

sudo gem install activesupport -v 4.2.6

[2] Po instalacji pojawi się wiele komunikatów, przeczytaj je, a jeśli nie znaleziono błędu, oznacza to, że instalacja cocoapods jest zakończona. Następnie musisz skonfigurować główne repozytorium cocoapods. Wpisz terminal:

pod setup

I czekaj, pobierze główne repozytorium. Rozmiar jest bardzo duży (370,0 MB na grudzień 2016 r.). Może to chwilę potrwać. Możesz śledzić pobieranie, otwierając kartę Aktywność i goto Sieć i wyszukaj git-remote-https. Alternatywnie możesz spróbować dodać pełne polecenie do polecenia w następujący sposób:

pod setup --verbose

[3] Po zakończeniu wyświetli się komunikat „Setup Complete”, możesz utworzyć projekt XCode i zapisać go.

[4] Następnie w terminalu cd do „katalogu głównego projektu XCode” (gdzie znajduje się plik .xcodeproj) i wpisz:

pod init

[5] Następnie otwórz podfile swojego projektu, wpisując terminal:

open -a Xcode Podfile

[6] Twój plik podfile zostanie otwarty w trybie tekstowym. Początkowo będą tam dostępne domyślne polecenia. Tutaj dodajesz zależności projektu. Na przykład w podfile wpisz

/****** These are Third party pods names ******/
pod 'OpenSSL-Universal'
pod 'IQKeyboardManager'
pod 'FTPopOverMenu'
pod 'TYMActivityIndicatorView'
pod 'SCSkypeActivityIndicatorView'
pod 'Google/SignIn'
pod 'UPStackMenu'

(jest to Na przykład dodanie biblioteki do projektu).

Po zakończeniu edycji pliku pod zapisz go i zamknij XCode.

[7] Następnie zainstaluj strąki w swoim projekcie, wpisując terminal:

pod install

W zależności od liczby bibliotek dodanych do pliku podfile dla projektu, czas na jego ukończenie jest różny. Po zakończeniu pojawi się komunikat

„Instalacja kapsuły zakończona! Istnieje X zależności od pliku Podfile i X zainstalowanych kapsułów.”

saurabh rathod
źródło
18

W systemie macOS:

brew install cocoapods
brew cask install cocoapods-app
Szczęśliwa twarz
źródło
4
Error: Cask 'cocoapods-app' is unavailable: No Cask with this name exists.
rdza
@rust brew cask search cocoapod? Nie wiem
HappyFace,
13

Miałem ten sam problem, działając Mountain Lion z zainstalowanym Ruby 2 i używanym zamiast systemowego ruby.

Wcześniej dodałem PATH=/usr/local/bin:$PATHdo ~/.bash_profilesiebie, aby upewnić się, że rzeczy są zainstalowane przezhomebrew , w tym Ruby 2, mają pierwszeństwo przed plikami binarnymi zainstalowanymi przez system.

W każdym razie w tym przypadku zauważyłem, że cocoapody zainstalowałyby swój plik binarny „pod” nie w, /usr/local/binale raczej w/usr/local/Cellar/ruby/2.0.0-p247/bin/

Więc do mojego .bash_profile dodałem PATH=$PATH:/usr/local/Cellar/ruby/2.0.0-p247/bin/ i teraz cocoapods działa jak urok.

gterzian
źródło
Nie mam tego pliku ścieżki, co powinienem zrobić?
Nickool,
Jestem prawie pewien, że powinieneś mieć .bash_profile, normalnie nie możesz go zobaczyć z powodu. przed nazwą pliku. zrób najpierw równinę cdw swoim terminalu, aby wrócić do domu, a następnie ba ls -a, powinieneś zobaczyć wszystkie swoje pliki, w tym bash_profile
gterzian
1
Dzięki za wskazówkę. Łagodnie podłączyłem plik wykonywalny pod do / usr / local / bin, teraz wszystko wydaje się być w porządku.
David
1
Nie jest idealnym kodowaniem wersji Ruby na PATH. Zobacz tę odpowiedź, jak to zrobić ogólnie: stackoverflow.com/a/14138490/1531256
codingFriend1
10

Spróbuj tego:

sudo gem install cocoapods -V

i musisz zaktualizować klejnot do najnowszej wersji, używając tego:

sudo gem update --system 

jeśli chcesz cieszyć się szybką odpowiedzią :)

Mohsin
źródło
8

W terminalu lepiej jest uruchomić instalację strąków kakaowych za pomocą „sudo”. W innym przypadku pojawia się błąd: „Nie masz uprawnień do zapisu w katalogu /Library/Ruby/Gems/2.0.0”.

Tak więc rozwiązaniem jest:

sudo gem install cocoapods
użytkownik1195202
źródło
8

spróbuj: rbenv global system a następnie sudo gem install cocoapods pod setup

Allen
źródło
To działało dla mnie przy użyciu rbenv global system. Pisanie po prostu rbenv systempowoduje błąd.
geraldWilliam
@MCSD Najpierw powinieneś zainstalować rbenv .
Allen
7
  1. Odinstaluj wszystkie wystąpienia kokosów za pomocą tego polecenia

    $sudo gem uninstall cocoapods
    
  2. sudo gem install -n /usr/local/bin cocoapods

  3. sudo chmod +rx /usr/local/bin/

Shaheen
źródło
Co ma chmod +rxzrobić?
William Grand,
BŁĄD: Podczas wykonywania gem ... (Gem :: FilePermissionError) Nie masz uprawnień do zapisu w katalogu / usr / local / bin. Ale twój proces zadziałał :)
Naveed Abbas
Miłe korzystanie z -nopcji.
Mario Zigliotto,
6

Instalacja bez sudo

Jeśli nie chcesz przyznawać uprawnień administratora RubyGems dla tego procesu, możesz powiedzieć RubyGems, aby zainstalował się w twoim katalogu użytkownika, przekazując flagę --user-install do instalacji gem lub konfigurując środowisko RubyGems. To ostatnie jest naszym zdaniem najlepszym rozwiązaniem. Aby to zrobić, utwórz lub edytuj plik .profile w swoim katalogu domowym i dodaj lub popraw go, aby zawierał następujące wiersze:

export GEM_HOME=$HOME/.gem
export PATH=$GEM_HOME/bin:$PATH

Pamiętaj, że jeśli wybierzesz opcję --user-install, nadal będziesz musiał skonfigurować plik .profile, aby ustawić PATH lub użyć polecenia poprzedzonego pełną ścieżką. Możesz dowiedzieć się, gdzie jest zainstalowany klejnot z klejnotem, który cocoapods. Na przykład

$ gem install cocoapods --user-install
$ gem which cocoapods
/Users/eloy/.gem/ruby/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods.rb
$ /Users/eloy/.gem/ruby/2.0.0/bin/pod install

Źródło: https://guides.cocoapods.org/using/getting-started.html

Per Quested Aronsson
źródło
3

zainstaluj cocoapods z https://cocoapods.org/app

Polecenia i wersje ciągle się zmieniają

więc pobierz tar i ciesz się

Vijay
źródło
2

gterzian jest na dobrej drodze, jednak jeśli później zaktualizujesz swoją wersję ruby, będziesz również musiał zaktualizować swój .profile, aby wskazywał na nowy wersjonowany katalog ruby. Na przykład bieżąca wersja Ruby to 2.0.0-p353, więc zamiast tego musisz dodać /usr/local/Cellar/ruby/2.0.0-p353/bin do ścieżki.

Lepszym rozwiązaniem jest dodanie / usr / local / opt / ruby ​​/ bin do PATH. / usr / local / opt / ruby ​​to tak naprawdę dowiązanie symboliczne do bieżącej wersji ruby, które homebrew aktualizuje się automatycznie podczas aktualizacji. W ten sposób nigdy nie będziesz musiał aktualizować PATH i zawsze będziesz wskazywał najnowszą wersję.

Koppacetic
źródło
2

To rozwiązanie działało dla mnie. Pamiętaj, aby nie przegapić ostatniego polecenia (export PATH=$PATH:$HOME/Software/ruby/bin ).

Zobacz to .

naveed148
źródło
2

Jeśli użyłeś homebrew do zainstalowania rubinu, ta odpowiedź zadziałała dla mnie.

brew unlink ruby && brew link ruby

OSX 10.9.4

YPCrumble
źródło
2

@Babul Prabhakar miał rację

WAŻNE: Jeśli jednak po użyciu jego rozwiązania nadal pojawia się komunikat „Nie znaleziono polecenia pod”, polecenie to może rozwiązać problem:

sudo chown -R $(whoami):admin /usr/local
SomnusLee
źródło
1

zdarza mi się, kiedy pisałem

gem install cocoapods

zamiast

sudo gem install cocoapods

jeśli polecenie sudo również nie zostanie znalezione, napisz

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH

przed poleceniem sudo

Nora Alnashwan
źródło
0

Używaliśmy niekompatybilnej wersji Ruby w Terminalu (Mac), ale kiedy użyliśmy RVM do przejścia na Ruby 2.1.2, Cocoapods wróciło.

Crashalot
źródło
0

więc miałem również ten sam problem. Prawdopodobnie dzieje się tak, ponieważ Twój komputer ma starszą wersję Ruby. Musisz więc najpierw zaktualizować swój rubin. Mój działał dla wersji Ruby 2.6.3. Dostałem to rozwiązanie od sStackOverflow,

Najpierw otwórz terminal i umieść ten kod

curl -L https://get.rvm.io | bash -s stable

Następnie wprowadź to polecenie

rvm install ruby-2.6

Spowoduje to zainstalowanie ruby ​​dla Ciebie, jeśli nie został zainstalowany. Następnie zaktualizuj Ruby do nowej wersji

rvm use ruby-2.6.3

Następnie ustaw domyślnie Ruby 2.6.3

rvm --default use 2.6.3

To prawdopodobnie rozwiązałoby problem. Możesz teraz wprowadzić polecenie

sudo gem install cocoapods

I polecenie

pod setup

Mam nadzieję, że było to przydatne

Ayush Kovind
źródło