MacOS High Sierra'da çalışmıyor CocoaPod'lar


163

MacOS High Sierra'ya yükselttikten sonra CocoaPods çalışmıyor. CocoaPods'dan uzaklaşmak cazip olsa da, şu anda maalesef kapsam dışı değil. Hata mesajı aşağıdadır.

zsh: /Users/****/.gems/bin/pod: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin: no such file or directory

Hatanın Ruby'nin yükseltilmesinden kaynaklandığını fark ettim ama kolaylıklar düzeltildi mi? CocoaPod'ların yeni yakut versiyonunu kullanmaya çalışmak başka hatalar verir.

Düzenleme: Şimdilik i yüklü Ruby 2.0olan rvm install 2.0.0ve rvm use 2.0.0daha sonra yeniden CocoaPods sudo gem install cocoapods. Şimdi çalışıyor gibi görünüyor.


Komut Satırı Araçlarını güncellediniz mi?
matt

@matt Evet sudo xcode-select -s /Applications/Xcode-beta.appve sudo xcode-select --installoradan GUI'yi izledi.
Maciej Swic

Buradakileri düşünüyordum: developer.apple.com/download/more Bunları yükleyene kadar çoğu zaman harici araçların çalışmadığını görüyorum.
mat

Yanıtlar:


417

Https://github.com/CocoaPods/CocoaPods/issues/6778 adresine göre CocoaPods'un yeniden yüklenmesi bu sorunu çözmelidir:

sudo gem install cocoapods

2
benim için de çalıştı, kabul edilen bir çözüm olarak işaretlenmelidir
swalkner

17
Basit bir "demlemek yeniden cocoapods" çalıştı (sizin için bu tam komutu çalıştırdığı gibi). Bunu işaret ettiğiniz için teşekkür ederim.
Markus

Bu işe yarıyor olsa da, güncellenmiş Ruby sürümünü bulamadığı için kesinlikle bir CocoaPods sorunu olmalı. Muhtemelen yeniden yüklemek, kurulumu tekrar denetler ve bu nedenle "düzeltir".
Hans Knöchel

gem install cocoapods - nil dize hata örtük dönüşüm atar ama "demlemek cocoapods yeniden demlemek" işi yaptı. @Markus
krishnan

gem install -n / usr / local / bin cocoapods bana yardımcı oluyor
Anupam Gupta

112

MacOS High Sierra'ya yükselttikten sonra, aşağıdaki komutlarla düzeltmeyi sağlayın:

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

bittikten sonra aşağıdaki komutu yazın:

pod install

Bu çözüm benim için çalıştı ... !!!


1
"HATA: Gem yürütülürken ... (Errno :: EPERM) İlk komutu çalıştırırken @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem" işlemine izin verilmiyor, ama ikinci çalıştırmak hala "pod install" çalışması yaptı. Teşekkürler.
Bryce Sandlund

"Uyarı" ya rağmen yine de burada teşekkürler diyeceğim. Benim için işe yarayan tek şey buydu. Basitçe cocoapods'u (birkaç kez) yeniden yüklemek, bu adımların her ikisini de yapana kadar hiçbir fark yaratmadı. Yani - teşekkürler!
huygir

Ruby komutunu aşağıdaki komutla çalıştırmak zorunda kaldım:sudo gem update -n /usr/local/bin --system
Paul Popiel

Benim için çalıştı (cocoapods 1.5.3).
atereshkov

27

CocoaPod'ları yüklerken bu hatayı aldım

ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.

Ve bu ifadeyi kullandım. İşe yaradı!

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

1
Benim için işe yarayan tek çözüm bu. Teşekkürler
Dan Beaulieu

12

Yapmam gerekmesine rağmen bu benim için çalıştı

sudo gem install cocoapods

9

Bu benim sorunumu çözdü:

$ brew install ruby
$ gem install -n /usr/local/bin cocoapods

Lütfen yayınlanan kodun ne yaptığına dair kısa bir açıklama yapın, bu nedenle bu teknolojide yeni olan kişiler cevabınızı anlamak ve yeniden kullanmak için bir değişiklik yapabilir :-)
Mathieu VIALES

1
Kakaapodlara yeni başlayanlar, diğerleri gibi okumayı bilmelidir.
thibaut noah

@MathieuVIALES, "demlemek yükleme yakut" zaten Homebrew paketleyiciniz ( brew.sh ) olduğunu varsayar . Bu komut daha sonra yükler (veya Homebrew'un kendisini kurmak için gerçekten yakut gerektiğinden teknik olarak yakutu yeniden yükler). Bir sonraki satır "gem install -n / usr / local / bin cocoapods", CocoaPod programını yeniden kurar ( cocoapods.org'da daha fazlası ).
Eddie Eddie Eddie

8

Sadece aşağıdaki komutu çalıştırın:

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

6

Bu yüzden High Sierra'ya güncelledikten sonra da bu problemle karşılaştım ve yakut çerçevenin eriştiği bir dosya konumunda bazı değişiklikler yapıldı gibi görünüyor.

Bunu kullanarak çözebilirsiniz,

sudo gem install cocoapods

ve ardından güvenli önlemleri almak için bölmeleri de güncelleyin

pod repo update 

ve sonunda

pod install

Pod dosyasının tekrar çalışmasını sağlamak için.

Umarım bu yardımcı olur :)


5

Kullanmayı deneyin

sudo gem update --system

Önce

sudo gem install cocoapods

Bu benim için çalıştı


5

Bu benim için çalışıyor:

brew link --overwrite cocoapods

5

Cocoapods yükleme işlemi:

  1. sudo gem install cocoapods (herhangi bir sorun cocoapds varsa, lütfen gem dosyasını güncelleyin)

  2. sudo gem update --system

  3. sudo gem install cocoapods


4

Benim için:

gem uninstall cocoapods
which pod

Hala yolda gösterdi, ben de sildim. Hala görünmedi emin yaptı.

Sonra

gem install cocoapods

En sonunda ! Cocoapod'ları yüklemeden önce eski pod yürütülebilir dosyasını silmek benim için çalıştı
Seb Fanals

4

Terminale Git ...

Aşama 1). sudo gem cocoapods yükleyin

kurulum kakao bakla tamamlandıktan sonra

Adım 2). pod repo güncellemesi

Tamamlandı


3

Ayrıca yükledikten sonra bu hatayla karşılaştım High Sierra.

ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.

Danh Huynh (yukarıya bakınız) tarafından tanımlanan aşağıdaki ifadeyi kullandım ve işe yaradı!

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

1
Bu sadece mevcut cevabın tekrarı değil mi?
Pang

Bu benim için düzeltildi
MiMo

3

MacOS High Sierra varsayılan olarak ruby ​​2.3 kullanır. Yükselttikten sonra, bazı eski yakut taşlar düzgün çalışmayabilir. Bundle komutunu çalıştırdığımda (bundler bir ruby ​​gem; bundle adında bir yardımcı program var) bu sorun bana geliyor.

Bu yüzden, açıklığa kavuşturmak için, yakut 2.0'a erişmeye çalışan eski yakut mücevherleri (cocoapods, bundler, vb.) Başarısız olacaktır.

Çözüm, bu eski taşları yazma izninizin olduğu bir dizine yeniden yüklemektir.

Kakaapodlar için,

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

hile yapacak.

beforeYüklemeyi isterseniz isteğe bağlı olarak mücevher sisteminizi yükseltebilirsiniz :

sudo gem update --system

Bu, yükseltme işleminin başarısız olduğunu size sorabilir. Ama aslında, şunu yazarsanız:

gem --version

Yükseltmenin başarılı olduğunu görebilirsiniz.

Paketçi veya diğer taşlar için aynı şeyi yapmaya çalışın:

sudo gem install gem-to-install(for example, bundler) -n /usr/local/bin

Hakkında -n seçeneği. Kaçırmayın. İsterseniz mücevher belgelerini kontrol edebilirsiniz.

Yani, çözüm tamamen reinstalling the old gemuygun bir dizine yöneliktir.


1

Ben aynı şeyi yaparken başka bir hata var

HATA: gem yürütülürken ... (Gem :: FilePermissionError) /Library/Ruby/Gems/2.3.0 dizini için yazma izniniz yok.

Sonra bunu yaptım ve iyi çalıştım.

sudo gem uninstall cocoapods

sudo gem install cocoapods

1

Aynı sorun vardı, çözüm:

  1. Ruby'yi yeniden yükle

    brew install ruby

  2. Kakao Bölmelerini Yeniden Yükleyin

    sudo gem install cocoapods


1

Mac OSX High Sierra'ya yükseltildiğinde bu yaygın bir sorundur.

Düzeltme sadece Cocoapod'ları kuruyor (tekrar):

sudo gem install cocoapods

1

Bunu terminalde çalıştırmak benim için çalıştı:

sudo gem install cocoapods

0

Terminalde aşağıdaki komutu kullandıktan sonra, projeme kakao kapsülleri yükleyebiliyorum.

sudo gem install cocoapods --source http://rubygems.org

0

Bu sorunla da karşılaştım, ancak çeşitli yeniden yükleme / güncelleme gibi daha az dramatik bir şekilde düzelttim. Mevcut (2.6.0) ruby ​​versiyonumu göstermek için PATH ortam değişkenini güncelledim.


0

Catalina'ya geçtikten sonra da aynı sorunu yaşadım.

  1. İlk önce bu talimatları kullanarak demlemek ve yakut yükleyerek yakut kurulumunu güncelledim. https://gorails.com/setup/osx/10.15-catalina (ancak sadece yakut, ray değil, vb.)

  2. Daha sonra yukarıdaki talimatları kullanarak cocoapod'ları yeniden kurdum.

    sudo gem cocoapods yükleyin

Tüm bunlardan sonra hala yukarıdaki hatayı aldım. Sonra yeni bir kabuk oluşturmak ve ~ / .zshrc dosyasında yapılandırma ayarlarını almak için 'zsh' yazdım. Bundan sonra 'pod güncelleme' komutu tekrar çalıştı.


0

Sudo-less .zhs dostu çözüm

Modern macOS, kullanmaktan vazgeçirir sudove bash'den zsh'a geçer, bu nedenle moda ile savaşmayacaksanız bu cevap yararlı olabilir.

  1. Komut ile .zshenvvar olduğundan emin olun touch ~/.zshenv. Aşağıdaki satırları ekleyerek RubyGems ortamını yapılandırın:

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

    Terminal'i yeniden başlatmayı unutmayın.

  2. Koş gem install cocoapods.

0
If cannot install new version cocoapods, example below:
1. Please remove Command line tools
sudo rm -rf /Library/Developer/CommandLineTools
2. Install new Command line tools version
sudo xcode-select --install
3. after installing run below command
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.