CocoaPods ไม่ทำงานใน macOS High Sierra


163

หลังจากอัปเกรดเป็น macOS High Sierra CocoaPods ไม่ทำงาน แม้ว่าจะดึงดูดให้ย้ายออกจาก CocoaPods แต่น่าเสียดายที่ตอนนี้ไม่ได้อยู่ในขอบเขต ข้อความแสดงข้อผิดพลาดอยู่ด้านล่าง

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

ฉันตระหนักว่าข้อผิดพลาดเกิดจากการอัปเกรด Ruby แต่การแก้ไข easies คืออะไร การพยายามทำให้ CocoaPods ใช้ทับทิมรุ่นใหม่ทำให้เกิดข้อผิดพลาดอื่น ๆ

แก้ไข: สำหรับตอนนี้ผมติดตั้งRuby 2.0ด้วยrvm install 2.0.0และrvm use 2.0.0และ sudo gem install cocoapodsCocoaPods ดูเหมือนว่าจะทำงานตอนนี้


คุณอัพเดตเครื่องมือบรรทัดคำสั่งหรือไม่
matt

@matt ใช่แล้วsudo xcode-select -s /Applications/Xcode-beta.appและsudo xcode-select --installติดตาม GUI จากที่นั่น
Maciej Swic

ฉันคิดถึงสิ่งต่าง ๆ ที่นี่: developer.apple.com/download/ เพิ่มเติมฉันมักจะพบเครื่องมือภายนอกไม่ทำงานจนกว่าฉันจะติดตั้ง
ด้าน

คำตอบ:


417

ตามhttps://github.com/CocoaPods/CocoaPods/issues/6778 การติดตั้ง CocoaPods อีกครั้งควรแก้ไขปัญหานี้:

sudo gem install cocoapods

2
ทำงานให้ฉันด้วยเช่นกันควรได้รับการระบุว่าเป็นวิธีการแก้ปัญหาที่ยอมรับ
swalkner

17
"ชงติดตั้ง cocoapods" เรียบง่ายใช้งานได้ (เพราะมันรันคำสั่งที่แน่นอนสำหรับคุณ) ขอบคุณสำหรับการชี้ให้เห็นว่า
Markus

แม้ว่ามันจะใช้งานได้จริงมันควรจะเป็นปัญหา CocoaPods อย่างแน่นอนเนื่องจากไม่สามารถค้นหารุ่น Ruby ที่อัปเดตได้ อาจติดตั้งใหม่ก็เพียงตรวจสอบการติดตั้งอีกครั้งและดังนั้น "แก้ไข" มัน
Hans Knöchel

gem ติดตั้ง cocoapods - ไม่มีการแปลงโดยปริยายของศูนย์เป็นข้อผิดพลาดสตริง แต่ "ชงติดตั้ง cocoapods" ทำงานได้ ขอบคุณ @Markus
กฤษณะ

gem install -n / usr / local / bin cocoapods ช่วยฉันได้
Anupam Gupta

112

หลังจากอัปเกรดเป็น macOS High Sierra ได้รับการแก้ไขด้วยคำสั่งต่อไปนี้:

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

เมื่อมันจะเสร็จแล้วเขียนคำสั่งด้านล่าง:

pod install

วิธีนี้ใช้ได้ผลกับฉัน ... !!!


1
ฉันได้รับ "ข้อผิดพลาด: ขณะดำเนินการอัญมณี ... (Errno :: EPERM) ไม่อนุญาตการดำเนินการ @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem" เมื่อใช้คำสั่งแรก แต่การเรียกใช้ครั้งที่สองยังคงทำให้ "ติดตั้งพ็อด" ทำงาน ขอบคุณ
Bryce Sandlund

แม้จะมี "คำเตือน" ฉันจะพูดขอบคุณที่นี่ต่อไป นี่เป็นสิ่งเดียวที่ทำงานให้ฉัน เพียงแค่ติดตั้ง cocoapods ใหม่ (หลายครั้ง) ก็ไม่ต่างอะไรจนกว่าฉันจะทำตามขั้นตอนทั้งสองนี้ ดังนั้น - ขอบคุณ!
huygir

ฉันต้องเรียกใช้การอัปเดตทับทิมผ่านคำสั่งต่อไปนี้:sudo gem update -n /usr/local/bin --system
Paul Popiel

ทำงานให้ฉัน (cocoapods 1.5.3)
atereshkov

27

ฉันได้รับข้อผิดพลาดนี้ขณะติดตั้ง CocoaPods

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

และฉันใช้คำสั่งนี้ มันได้ผล!

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

1
นี่เป็นทางออกเดียวที่ดูเหมือนจะได้ผลสำหรับฉัน ขอบคุณ
Dan Beaulieu


9

วิธีนี้แก้ไขปัญหาของฉัน:

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

โปรดให้คำอธิบายสั้น ๆ ว่าโค้ดที่โพสต์ทำอะไรเพื่อคนที่ยังใหม่กับเทคโนโลยีนี้มีการเปลี่ยนแปลงเพื่อทำความเข้าใจและใช้คำตอบของคุณอีกครั้ง :-)
Mathieu VIALES

1
ผู้ที่ยังใหม่กับ cocoapods ควรรู้วิธีอ่านเหมือนคนอื่น ๆ
thibaut noah

@MathieuVIALES "brew install ruby" ถือว่าคุณมี Homebrew packager ( brew.sh ) แล้ว คำสั่งนั้นจะติดตั้ง (หรืออาจติดตั้ง ruby ​​ทางเทคนิคอีกครั้งเนื่องจากคุณต้องการ ruby ​​เพื่อติดตั้ง Homebrew เอง) บรรทัดถัดไป "gem install -n / usr / local / bin cocoapods" ติดตั้งโปรแกรม CocoaPod (เพิ่มเติมที่cocoapods.org )
Eddie Eddie Eddie


6

ดังนั้นฉันจึงพบปัญหานี้เช่นกันหลังจากอัปเดตเป็น High Sierra แล้วและดูเหมือนว่ามีการเปลี่ยนแปลงตำแหน่งของไฟล์ที่เฟรมเวิร์กทับทิมเข้าถึงอยู่

คุณสามารถแก้มันโดยใช้

sudo gem install cocoapods

จากนั้นอัปเดตพ็อดด้วยมาตรการที่ปลอดภัย

pod repo update 

และในที่สุดก็

pod install

เพื่อทำให้ไฟล์พ็อดทำงานได้อีกครั้ง

หวังว่านี่จะช่วยได้ :)




5

กระบวนการติดตั้ง Cocoapods:

  1. sudo gem install cocoapods (หากคุณมีปัญหา cocoapds โปรดอัปเดตไฟล์อัญมณี)

  2. sudo gem update --system

  3. sudo gem install cocoapods


4

สำหรับฉันฉันต้อง:

gem uninstall cocoapods
which pod

มันยังคงแสดงอยู่ในเส้นทางดังนั้นฉันจึงลบมัน ทำให้แน่ใจว่ามันยังไม่ปรากฏขึ้น

แล้วก็

gem install cocoapods

ในที่สุด! การลบไฟล์เก่าที่ใช้งานได้ก่อนที่จะติดตั้ง cocoapods ทำงานให้ฉัน
Seb Fanals

4

ไปที่เทอร์มินัล ...

ขั้นตอนที่ 1). sudo gem ติดตั้ง cocoapods

หลังจากติดตั้งฝักโกโก้เสร็จแล้ว

ขั้นตอนที่ 2). อัพเดท pod repo

เสร็จ


3

High Sierraฉันยังพบข้อผิดพลาดนี้หลังจากติดตั้ง

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

ฉันใช้ข้อความต่อไปนี้ที่ระบุโดย Danh Huynh (ดูด้านบน) และใช้งานได้!

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

1
นี่เป็นเพียงการทำซ้ำของคำตอบที่มีอยู่นี้ใช่ไหม?
ปาง

นี่แก้ไขให้ฉัน
MiMo

3

MacOS High Sierra ใช้ทับทิม 2.3 โดยค่าเริ่มต้น หลังจากอัปเกรดเป็นพลอยทับทิมเก่าบางรุ่นอาจทำงานไม่ถูกต้อง ปัญหานี้เกิดขึ้นกับฉันเมื่อฉันรันคำสั่งบันเดิล (บันเดิลเป็นพลอยทับทิมมียูทิลิตี้ที่เรียกว่าบันเดิล)

ดังนั้นหากต้องการชี้แจงทับทิมพลอยเก่า ๆ (cocoapods, bundler, ฯลฯ ) ที่พยายามเข้าถึง ruby ​​2.0 จะล้มเหลว

วิธีแก้ไขคือติดตั้งพลอยเก่าเหล่านั้นในไดเรกทอรีที่คุณมีสิทธิ์เขียน

สำหรับ cocoapods

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

จะทำเคล็ดลับ

คุณสามารถเลือกอัพเกรดระบบอัญมณีของคุณหากคุณชอบbeforeการติดตั้ง:

sudo gem update --system

นี่อาจแจ้งให้คุณทราบว่าการอัพเกรดล้มเหลว แต่จริงๆแล้วถ้าคุณพิมพ์:

gem --version

คุณจะเห็นว่าการอัพเกรดสำเร็จแล้ว

สำหรับผู้รวมกลุ่มหรืออัญมณีอื่น ๆ ลองทำเช่นเดียวกัน:

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

เกี่ยวกับ-nตัวเลือก อย่าพลาด คุณสามารถตรวจสอบเอกสารอัญมณีได้หากต้องการ

ดังนั้นการแก้ปัญหาทั้งหมดเกี่ยวกับreinstalling the old gemไดเรกทอรีที่เหมาะสม


1

ในขณะที่ฉันทำแบบเดียวกันฉันก็พบข้อผิดพลาดอีกว่า

ข้อผิดพลาด: ขณะดำเนินการ gem ... (Gem :: FilePermissionError) คุณไม่มีสิทธิ์เขียนสำหรับไดเร็กทอรี /Library/Ruby/Gems/2.3.0

จากนั้นฉันก็ทำสิ่งนี้และทำงานได้ดี

sudo gem uninstall cocoapods

sudo gem install cocoapods

1

มีปัญหาเดียวกันการแก้ไข:

  1. ติดตั้งทับทิมใหม่

    brew install ruby

  2. ติดตั้งฝักโกโก้อีกครั้ง

    sudo gem install cocoapods


1

นี่เป็นปัญหาที่พบบ่อยเมื่ออัพเกรดเป็น Mac OSX High Sierra

แก้ไขเป็นเพียงการติดตั้ง Cocoapods (อีกครั้ง):

sudo gem install cocoapods


0

หลังจากใช้คำสั่งด้านล่างบนเทอร์มินัลฉันสามารถติดตั้งฝักโกโก้ในโครงการของฉัน

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

0

ฉันต้องเผชิญกับปัญหานี้ด้วย แต่แก้ไขได้ด้วยวิธีที่น้อยลงเนื่องจากการติดตั้ง / อัพเดทใหม่หลายครั้ง เพิ่งปรับปรุงตัวแปรสภาพแวดล้อม PATH เพื่อชี้ให้เห็นทับทิมรุ่นปัจจุบันของฉัน (2.6.0)


0

ฉันมีปัญหาเดียวกันหลังจากอัปเกรดเป็น Catalina

  1. ฉันอัปเดตการติดตั้งทับทิมโดยการติดตั้งการชงและทับทิมครั้งแรกโดยใช้คำแนะนำ https://gorails.com/setup/osx/10.15-catalina (แต่เฉพาะทับทิมไม่ใช่ราง ฯลฯ )

  2. จากนั้นฉันติดตั้ง cocoapods ใหม่โดยใช้คำแนะนำด้านบน

    sudo gem ติดตั้ง cocoapods

หลังจากนั้นทั้งหมดที่ฉันยังคงได้รับข้อผิดพลาดข้างต้น จากนั้นฉันพิมพ์ 'zsh' เพื่อวางไข่เชลล์ใหม่และดึงการตั้งค่าในไฟล์ ~ / .zshrc หลังจากคำสั่ง 'pod update' นี้ทำงานอีกครั้ง


0

โซลูชันที่เป็นมิตรกับ Sudo. less

MacOS ที่ทันสมัยไม่สนับสนุนการใช้sudoและการเปลี่ยนจาก bash เป็น zsh ดังนั้นคำตอบนี้อาจมีประโยชน์หากคุณไม่ต่อสู้กับแฟชั่น

  1. ประกันที่.zshenvมีอยู่โดยtouch ~/.zshenvคำสั่ง กำหนดค่าสภาพแวดล้อม RubyGems โดยเพิ่มบรรทัดต่อไปนี้:

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

    อย่าลืมเปิด Terminal อีกครั้ง

  2. 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.