CocoaPods tidak berfungsi di macOS High Sierra

162

Setelah memutakhirkan ke macOS High Sierra CocoaPods tidak berfungsi. Meskipun tergoda untuk pindah dari CocoaPods, sayangnya saat ini tidak dalam cakupan. Pesan kesalahan di bawah.

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

Saya menyadari bahwa kesalahan berasal dari Ruby yang ditingkatkan tetapi apa yang paling mudah diperbaiki? Mencoba membuat CocoaPods menggunakan versi ruby ​​baru menghasilkan kesalahan lain.

Edit: Untuk sekarang saya diinstal Ruby 2.0dengan rvm install 2.0.0dan rvm use 2.0.0dan CocoaPods kemudian diinstal ulang sudo gem install cocoapods. Kelihatannya sekarang dapat berfungsi.

Maciej Swic
sumber
Apakah Anda memperbarui Alat Baris Perintah?
matt
@ tikar Ya, sudo xcode-select -s /Applications/Xcode-beta.appdan sudo xcode-select --installdan ikuti GUI dari sana.
Maciej Swic
Saya memikirkan yang ada di sini: developer.apple.com/download/lebih sering saya menemukan alat eksternal tidak berfungsi sampai saya menginstalnya.
matt

Jawaban:

416

Menurut https://github.com/CocoaPods/CocoaPods/issues/6778 menginstal ulang CocoaPods harus menyelesaikan masalah ini:

sudo gem install cocoapods
zeisi
sumber
2
bekerja untuk saya juga, harus ditandai sebagai solusi yang diterima
swalkner
17
Sebuah "buatan baru instal ulang cocoapods" berfungsi (saat menjalankan perintah ini untuk Anda). Terima kasih telah menunjukkannya.
Markus
Meskipun ini berfungsi, itu pasti masalah CocoaPods, karena tidak dapat menemukan versi Ruby yang diperbarui. Mungkin menginstal ulang itu hanya memeriksa untuk instalasi lagi dan karena itu "memperbaikinya".
Hans Knöchel
gem install cocoapods - tidak melakukan konversi implisit dari nil ke string tetapi "buat instal ulang cocoapods" berhasil. terima kasih @Markus
krishnan
permata instal -n / usr / local / bin cocoapods membantu saya
Anupam Gupta
112

Setelah memutakhirkan ke macOS High Sierra, perbaiki dengan perintah berikut:

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

setelah selesai maka tulis perintah di bawah ini:

pod install

Solusi ini berhasil untuk saya ... !!!

mital solanki
sumber
1
Saya mendapat "GALAT: Saat menjalankan permata ... (Errno :: EPERM) Operasi tidak diizinkan @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem" saat menjalankan perintah pertama, tetapi menjalankan yang kedua masih membuat "pod install" berfungsi. Terima kasih.
Bryce Sandlund
Meskipun "peringatan", saya akan mengucapkan terima kasih di sini. Ini adalah satu-satunya hal yang berhasil untuk saya. Cukup menginstal ulang cocoapods (beberapa kali) tidak ada bedanya sampai saya melakukan kedua langkah ini. Jadi terima kasih!
huygir
Saya harus menjalankan pembaruan ruby ​​melalui perintah berikut:sudo gem update -n /usr/local/bin --system
Paul Popiel
Bekerja untuk saya (cocoapods 1.5.3).
atereshkov
27

Saya mendapatkan kesalahan ini saat menginstal CocoaPods

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

Dan saya menggunakan pernyataan ini. Berhasil!

sudo gem install cocoapods -n /usr/local/bin
Danh Huynh
sumber
1
Ini adalah satu-satunya solusi yang sepertinya berhasil untuk saya. Terima kasih
Dan Beaulieu
12

Ini bekerja untuk saya, walaupun saya harus melakukannya

sudo gem install cocoapods
Andrew Smith
sumber
9

Ini menyelesaikan masalah saya:

$ brew install ruby
$ gem install -n /usr/local/bin cocoapods
Norđe Nilović
sumber
Tolong beri penjelasan singkat tentang apa yang diposting kode sehingga orang yang baru dengan teknologi ini memiliki perubahan untuk memahami dan menggunakan kembali jawaban Anda :-)
Mathieu VIALES
1
Orang yang baru mengenal cocoapod harus tahu cara membaca seperti yang lain.
thibaut noah
@MathieuVIALES, "brew install ruby" menganggap Anda sudah memiliki pembuat paket Homebrew ( brew.sh ). Perintah itu kemudian menginstal (atau mungkin secara teknis menginstal ulang ruby ​​karena Anda sebenarnya membutuhkan ruby ​​untuk menginstal Homebrew sendiri). Baris berikutnya "permata install -n / usr / local / bin cocoapods" menginstal ulang program CocoaPod (lebih lanjut di cocoapods.org ).
Eddie Eddie Eddie
8

Cukup jalankan perintah di bawah ini:

sudo gem install -n /usr/local/bin cocoapods
Harshal Wani
sumber
6

Jadi saya mengalami masalah ini juga setelah memperbarui ke High Sierra, dan sepertinya ada beberapa perubahan pada lokasi file yang diakses oleh kerangka ruby.

Anda dapat menyelesaikannya menggunakan,

sudo gem install cocoapods

dan kemudian perbarui pod juga untuk langkah-langkah aman

pod repo update 

dan akhirnya

pod install

untuk membuat file pod berfungsi kembali.

Semoga ini bisa membantu :)

T. Hyldgaard
sumber
5

Coba gunakan

sudo gem update --system

Sebelum

sudo gem install cocoapods

Ini berhasil untuk saya

David
sumber
5

Ini bekerja untuk saya:

brew link --overwrite cocoapods
Yun CHEN
sumber
5

Proses instal Cocoapods:

  1. sudo gem install cocoapods (jika Anda memiliki masalah cocoapds, harap perbarui file gem)

  2. sudo gem update --system

  3. sudo gem install cocoapods

Sheshu Solo
sumber
4

Bagi saya, saya harus:

gem uninstall cocoapods
which pod

Itu masih menunjukkannya di jalur, jadi saya menghapusnya. Memastikan itu masih tidak muncul.

Kemudian

gem install cocoapods
Djunod
sumber
Akhirnya! Menghapus executable pod lama sebelum menginstal cocoapods bekerja untuk saya
Seb Fanals
4

Pergi ke Terminal ...

Langkah 1). sudo gem instal cocoapods

setelah selesai menginstal kakao lalu

Langkah 2). pembaruan repo pod

Lengkap

Azaharuddin Mohammad
sumber
3

Saya juga mengalami kesalahan ini setelah menginstal High Sierra.

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

Saya menggunakan pernyataan berikut yang diidentifikasi oleh Danh Huynh (lihat di atas) dan Berhasil!

sudo gem install cocoapods -n /usr/local/bin
kgangadhar
sumber
1
Ini hanya pengulangan dari jawaban yang ada ini , bukan?
Pang
ini memperbaikinya untuk saya
MiMo
3

MacOS High Sierra menggunakan ruby ​​2.3 secara default. Setelah memutakhirkannya, beberapa permata ruby ​​yang lama mungkin tidak berfungsi dengan benar. Masalah ini terjadi pada saya ketika saya menjalankan perintah bundle (bundler adalah permata ruby; ia memiliki utilitas yang disebut bundle).

Jadi, untuk memperjelas, setiap permata ruby ​​lama (cocoapods, bundler, dll) yang mencoba mengakses ruby ​​2.0 akan gagal.

Solusinya adalah menginstal ulang permata lama di direktori tempat Anda memiliki izin untuk menulis.

Untuk cocoapods,

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

akan melakukan trik.

Anda dapat memutakhirkan sistem permata Anda jika Anda suka beforepemasangan:

sudo gem update --system

Ini mungkin meminta Anda bahwa peningkatan telah gagal. Tetapi sebenarnya, jika Anda mengetik:

gem --version

Anda dapat melihat bahwa peningkatan telah berhasil.

Untuk bundler atau permata lain, coba lakukan hal yang sama:

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

Tentang -nopsi. Jangan lewatkan itu. Anda dapat memeriksa dokumentasi permata jika Anda mau.

Jadi, solusinya adalah tentang reinstalling the old gemdirektori yang tepat.

Jiang Wang
sumber
1

Sementara saya melakukan hal yang sama, saya mendapat kesalahan lain mengatakan itu

GALAT: Saat menjalankan gem ... (Gem :: FilePermissionError) Anda tidak memiliki izin menulis untuk direktori /Library/Ruby/Gems/2.3.0.

Lalu saya melakukan ini dan bekerja dengan baik.

sudo gem uninstall cocoapods

sudo gem install cocoapods
Himanth
sumber
1

Punya masalah yang sama, resolusi:

  1. Pasang kembali ruby

    brew install ruby

  2. Pasang kembali Cocoa Pods

    sudo gem install cocoapods

Anton Eregin
sumber
1

Ini adalah masalah umum ketika ditingkatkan ke Mac OSX High Sierra.

Perbaiki hanya menginstal Cocoapods (lagi):

sudo gem install cocoapods
Shobhit C
sumber
1

Menjalankan ini di terminal bekerja untuk saya:

sudo gem install cocoapods
ANUJ TAYAL
sumber
0

Setelah menggunakan perintah di bawah ini di terminal, saya dapat menginstal pod kakao di proyek saya.

sudo gem install cocoapods --source http://rubygems.org
Sonam Maniar
sumber
0

Saya menghadapi masalah ini juga tetapi memperbaikinya dengan cara yang kurang dramatis karena berbagai instalasi ulang / pembaruan. Baru saja memperbarui variabel lingkungan PATH untuk menunjukkan versi ruby ​​saya yang ada (2.6.0).

pengguna1575878
sumber
0

Saya memiliki masalah yang sama setelah meningkatkan ke Catalina.

  1. Saya memperbarui ruby ​​install dengan terlebih dahulu menginstal brew dan ruby ​​menggunakan petunjuk ini. https://gorails.com/setup/osx/10.15-catalina (tetapi hanya ruby, bukan rails, dll.)

  2. Kemudian saya menginstal ulang cocoapod menggunakan instruksi di atas.

    sudo gem instal cocoapods

Kemudian setelah semua itu saya masih menerima kesalahan di atas. Kemudian saya mengetik 'zsh' untuk menelurkan shell baru dan menarik pengaturan konfigurasi di file ~ / .zshrc. Setelah ini perintah 'pembaruan pod' bekerja lagi.

Larry Ricker
sumber
0

Sudo-less .zhs-friendly solution

MacOS modern mencegah penggunaan sudodan beralih dari bash ke zsh, jadi jawaban ini mungkin berguna jika Anda tidak akan bertarung dengan mode.

  1. Asuransikan yang .zshenvada dengan touch ~/.zshenvperintah. Konfigurasikan lingkungan RubyGems dengan menambahkan baris berikut:

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

    Jangan lupa untuk meluncurkan kembali Terminal.

  2. Lari gem install cocoapods.
kelin
sumber
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
Siddhant
sumber