CocoaPods không hoạt động trong macOS High Sierra


162

Sau khi nâng cấp lên macOS High Sierra CocoaPods không hoạt động. Mặc dù thật khó khăn khi di chuyển khỏi Cốc Cốc, nhưng thật không may là không có trong phạm vi ngay bây giờ. Thông báo lỗi dưới đây.

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

Tôi nhận ra rằng lỗi bắt nguồn từ việc Ruby được nâng cấp nhưng sửa lỗi là gì? Cố gắng làm cho Cốc Cốc sử dụng phiên bản ruby ​​mới mang lại các lỗi khác.

Edit: Đối với bây giờ tôi được cài đặt Ruby 2.0với rvm install 2.0.0rvm use 2.0.0và CocoaPods sau đó cài đặt lại sudo gem install cocoapods. Có vẻ như đang làm việc bây giờ.


Bạn đã cập nhật các công cụ dòng lệnh?
matt

@matt Có, sudo xcode-select -s /Applications/Xcode-beta.appsudo xcode-select --installtheo GUI từ đó.
Maciej Swic

Tôi đã nghĩ về những cái ở đây: developer.apple.com/doad/more Tôi thường thấy các công cụ bên ngoài không hoạt động cho đến khi tôi cài đặt chúng.
matt

Câu trả lời:


416

Theo https://github.com/CocoaPods/CocoaPods/issues/6778 cài đặt lại CocoaPods sẽ giải quyết vấn đề này:

sudo gem install cocoapods

2
cũng làm việc cho tôi, nên được đánh dấu là giải pháp được chấp nhận
swalkner

17
Một "brew reinstall cocoapods" đơn giản đã hoạt động (vì nó chạy lệnh chính xác này cho bạn). Cảm ơn bạn đã chỉ ra rằng.
Markus

Mặc dù điều này hoạt động, nhưng nó chắc chắn phải là một vấn đề của Cốc Cốc, vì nó không thể định vị được phiên bản Ruby đã cập nhật. Có lẽ cài đặt lại nó chỉ kiểm tra cài đặt lại và do đó "sửa" nó.
Hans Knöchel

gem install cocoapods - ném không chuyển đổi ngầm định của nil sang chuỗi lỗi nhưng "brew reinstall cocoapods" đã thực hiện công việc. cảm ơn @Markus
krishnan

cài đặt đá quý -n / usr / local / bin cocoapods giúp tôi
Anupam Gupta

112

Sau khi nâng cấp lên macOS High Sierra, hãy sửa lỗi bằng các lệnh sau:

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

Một khi nó sẽ được hoàn thành sau đó viết lệnh dưới đây:

pod install

Giải pháp này đã làm việc cho tôi ... !!!


1
Tôi đã nhận được "ERROR: Trong khi thực thi gem ... (Errno :: EPERM) Hoạt động không được phép @ rb_sysopen - / System / L Library / Frameworks / Repy.framework / Warions / 2.2 / usr / bin / gem" khi chạy lệnh đầu tiên, nhưng chạy thứ hai vẫn làm "pod install" hoạt động. Cảm ơn.
Bryce Sandlund

Bất chấp "cảnh báo", dù sao tôi cũng sẽ nói cảm ơn. Đây là điều duy nhất làm việc cho tôi. Chỉ cần cài đặt lại cocoapods (nhiều lần) cũng không có gì khác biệt cho đến khi tôi thực hiện cả hai bước này. Vì vậy - cảm ơn!
huygir

Tôi đã phải chạy bản cập nhật ruby ​​thông qua lệnh sau:sudo gem update -n /usr/local/bin --system
Paul Popiel

Làm việc cho tôi (cocoapods 1.5.3).
atereshkov

27

Tôi đã gặp lỗi này khi cài đặt Cốc Cốc

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

Và tôi đã sử dụng tuyên bố này. Nó đã làm việc!

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

1
Đây là giải pháp duy nhất có vẻ hiệu quả với tôi. Cảm ơn
Dan Beaulieu

12

Điều này làm việc cho tôi, mặc dù tôi phải làm

sudo gem install cocoapods

9

Điều này đã giải quyết vấn đề của tôi:

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

Vui lòng giải thích ngắn gọn về những gì mã được đăng để những người mới biết về công nghệ này có sự thay đổi để hiểu và sử dụng lại câu trả lời của bạn :-)
Mathieu VIALES

1
Những người mới sử dụng cocoapods nên biết cách đọc như những người khác.
thibaut noah

@MathieuVIALES, "brew install ruby" giả sử bạn đã có Homebrew packager ( brew.sh ). Lệnh đó sau đó cài đặt (hoặc có thể về mặt kỹ thuật cài đặt lại ruby ​​vì bạn thực sự cần ruby ​​để cài đặt Homebrew). Dòng tiếp theo "gem install -n / usr / local / bin cocoapods" cài đặt lại chương trình CocoaPod (chi tiết tại cocoapods.org ).
Eddie Eddie Eddie


6

Vì vậy, tôi cũng gặp phải vấn đề này sau khi cập nhật lên High Sierra và có vẻ như đã có một số thay đổi đối với vị trí tệp mà khung ruby ​​đang truy cập.

Bạn có thể giải quyết nó bằng cách sử dụng,

sudo gem install cocoapods

và sau đó cập nhật pod cũng như cho các biện pháp an toàn

pod repo update 

và cuối cùng

pod install

để làm cho tập tin pod hoạt động trở lại.

Hy vọng điều này sẽ giúp :)


5

Hãy thử sử dụng

sudo gem update --system

Trước

sudo gem install cocoapods

Điều này làm việc cho tôi


5

Điều này làm việc cho tôi:

brew link --overwrite cocoapods

5

Quá trình cài đặt Cocoapods:

  1. sudo gem install cocoapods (nếu bạn có bất kỳ vấn đề nào về cocoapds, vui lòng cập nhật tệp đá quý)

  2. sudo gem update --system

  3. sudo gem install cocoapods


4

Đối với tôi, tôi đã phải:

gem uninstall cocoapods
which pod

Nó vẫn hiển thị nó trong đường dẫn, vì vậy tôi đã xóa nó. Hãy chắc chắn rằng nó vẫn không xuất hiện.

Sau đó

gem install cocoapods

Cuối cùng! Xóa pod cũ có thể thực thi trước khi cài đặt cocoapods làm việc cho tôi
Seb Fanals

4

Chuyển đến thiết bị đầu cuối ...

bước 1). đá quý sudo cài đặt cocoapods

Sau khi hoàn thành cài đặt vỏ ca cao rồi

bước 2). cập nhật pod repo

Đã hoàn thành


3

Tôi cũng gặp phải lỗi này sau khi cài đặt High Sierra.

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

Tôi đã sử dụng tuyên bố sau được xác định bởi Danh Huynh (xem ở trên) và Nó đã hoạt động!

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

1
Đây chỉ là sự lặp lại của câu trả lời hiện có này , phải không?
Pang

cái này đã sửa nó cho tôi
MiMo 15/03/18

3

MacOS High Sierra sử dụng ruby ​​2.3 theo mặc định. Sau khi nâng cấp lên nó, một số đá quý ruby ​​cũ có thể không hoạt động đúng. Vấn đề này xảy ra với tôi khi tôi chạy lệnh bundle (bundler là một viên ngọc ruby; nó có một tiện ích gọi là bundle).

Vì vậy, để làm rõ, bất kỳ viên đá quý ruby ​​cũ nào (cocoapods, bundler, v.v.) đang cố gắng truy cập ruby ​​2.0 sẽ thất bại.

Giải pháp là cài đặt lại những viên đá quý cũ đó trong một thư mục mà bạn có quyền viết.

Đối với cocoapods,

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

sẽ thực hiện các mẹo.

Bạn có thể tùy chọn nâng cấp hệ thống đá quý của mình nếu bạn thích beforecài đặt:

sudo gem update --system

Điều này có thể nhắc nhở bạn rằng việc nâng cấp đã thất bại. Nhưng thực tế, nếu bạn gõ:

gem --version

Bạn có thể thấy rằng việc nâng cấp đã thành công.

Đối với bundler hoặc các loại đá quý khác, hãy thử làm tương tự:

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

Về -n tùy chọn. Đừng bỏ lỡ điều đó. Bạn có thể kiểm tra tài liệu đá quý nếu bạn muốn.

Vì vậy, giải pháp là tất cả về reinstalling the old gemmột thư mục thích hợp.


1

Trong khi tôi đang làm như vậy tôi đã gặp một lỗi khác nói rằng

LRI: Trong khi thực thi đá quý ... (Gem :: FilePermissionError) Bạn không có quyền ghi cho thư mục /L Library / Repub / Gems / 2.33.

Sau đó, tôi đã làm điều này và làm việc tốt.

sudo gem uninstall cocoapods

sudo gem install cocoapods

1

Có một vấn đề tương tự, giải quyết:

  1. Cài đặt lại ruby

    brew install ruby

  2. Cài đặt lại ca cao

    sudo gem install cocoapods


1

Đây là một vấn đề phổ biến khi được nâng cấp lên Mac OSX High Sierra.

Khắc phục chỉ đơn giản là cài đặt Cocoapods (một lần nữa):

sudo gem install cocoapods

1

Chạy này trên thiết bị đầu cuối làm việc cho tôi:

sudo gem install cocoapods

0

Sau khi sử dụng lệnh dưới đây trên thiết bị đầu cuối, tôi có thể cài đặt vỏ ca cao trong dự án của mình.

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

0

Tôi cũng gặp phải vấn đề này nhưng đã khắc phục nó theo cách ít kịch tính hơn khi cài đặt lại / cập nhật. Chỉ cần cập nhật biến môi trường PATH để chỉ ra phiên bản ruby ​​(2.6.0) hiện có của tôi.


0

Tôi đã có vấn đề tương tự sau khi nâng cấp lên Catalina.

  1. Tôi đã cập nhật cài đặt ruby ​​bằng cách cài đặt brew và ruby ​​đầu tiên bằng các hướng dẫn này. https://gorails.com/setup/osx/10.15-catalina (nhưng chỉ có ruby, không phải đường ray, v.v.)

  2. Sau đó, tôi cài đặt lại cocoapods theo hướng dẫn ở trên.

    đá quý sudo cài đặt cocoapods

Sau đó, tôi vẫn nhận được lỗi ở trên. Sau đó, tôi đã gõ 'zsh' để tạo ra một vỏ mới và kéo các cài đặt cấu hình trong tệp ~ / .zshrc. Sau khi lệnh 'pod update' này hoạt động trở lại.


0

Giải pháp thân thiện với Sudo .zhs

MacOS hiện đại không khuyến khích sử dụng sudovà chuyển từ bash sang zsh, vì vậy câu trả lời này có thể hữu ích nếu bạn không chiến đấu với thời trang.

  1. Bảo đảm .zshenvtồn tại bằng touch ~/.zshenvlệnh. Định cấu hình môi trường RubyGems bằng cách thêm các dòng sau:

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

    Đừng quên khởi động lại Terminal.

  2. Chạy đi 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.