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.


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

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 ... !!!


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

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

9

Ini menyelesaikan masalah saya:

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

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

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 :)


5

Coba gunakan

sudo gem update --system

Sebelum

sudo gem install cocoapods

Ini berhasil untuk saya



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


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

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


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

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.


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

1

Punya masalah yang sama, resolusi:

  1. Pasang kembali ruby

    brew install ruby

  2. Pasang kembali Cocoa Pods

    sudo gem install cocoapods


1

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

Perbaiki hanya menginstal Cocoapods (lagi):

sudo gem install cocoapods

1

Menjalankan ini di terminal bekerja untuk saya:

sudo gem install cocoapods

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

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).


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.


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.

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.