Lỗi khi cài đặt cocoapods với gem


9

Tôi đang sử dụng macOS Mojave và khi tôi cố gắng cài đặt cocoapods bằng gem tôi gặp phải lỗi sau.

Xây dựng phần mở rộng bản địa. Điều này có thể mất một lúc ... LRI: Lỗi khi cài đặt cocoapods: ERROR: Không thể xây dựng tiện ích mở rộng riêng của gem.

current directory: /Library/Ruby/Gems/2.3.0/gems/ffi-1.12.2/ext/ffi_c

/ Hệ thống / Thư viện /Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/include/ruby.h

không thành công, mã thoát 1

Các tập tin đá quý sẽ vẫn được cài đặt trong / L Library / Repuby / Gary / 02.0 / gems / ffi-1.12.2 để kiểm tra. Kết quả được đăng nhập vào / L Library / Repub / God / 2.0

Lỗi này xuất hiện khi tôi chạy các lệnh sau.

sudo gem install cocoapods

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

Tôi đã cài đặt các công cụ dòng lệnh xcode và tôi nhận được thông báo sau khi chạy xcode-select --install

xcode-select: error: các công cụ dòng lệnh đã được cài đặt, sử dụng "Cập nhật phần mềm" để cài đặt các bản cập nhật

Tôi cũng đã đồng ý thỏa thuận cấp phép xcode với lệnh sudo xcodebuild -license

Đăng nhập lỗi /Library/Ruby/Gems/2.3.0/extensions/universal-darwin-18/2.3.0/ffi-1.12.2/gem_make.outđưa ra như sau

thư mục hiện tại: / L Library / Glo / $ mkmf.rb không thể tìm thấy các tệp tiêu đề cho ruby ​​tại / System / L Library / Frameworks / Repy.fra$

không thành công, mã thoát 1

Tôi phải làm gì để khắc phục vấn đề này?


Bạn đã cài đặt ruby ​​chưa? Hãy thử ruby --versiontừ dòng lệnh
Robert Crabtree

Xin chào, tôi hiểu rồi. ruby 2.3.7p456 (2018-03-28 sửa đổi 63024) [phổ biến.x86_64-darwin18]
Muljayan

Nội dung của tệp nhật ký là gì? /Library/Ruby/Gems/2.3.0/extensions/universal-darwin-18/2.3.0/ffi-1.12.2/gem_make.out
Robert Crabtree

Tôi đã bao gồm nhật ký lỗi
Muljayan

Tôi muốn đề nghị bạn xem cái này TẠI ĐÂY
Robert Crabtree

Câu trả lời:


11

Câu trả lời cho điều này có thể được tìm thấy ở đây mặc dù nó không liên quan đến câu hỏi này. Dưới đây là một đoạn của câu trả lời hoạt động tốt nhất.

Đối với Xcode 11 trên macOS 10.14 , điều này có thể xảy ra ngay cả sau khi cài đặt Xcode và cài đặt các công cụ dòng lệnh và chấp nhận giấy phép với

sudo xcode-select --install
sudo xcodebuild -license accept

Vấn đề là Xcode 11 vận chuyển SDK macOS 10.15 bao gồm các tiêu đề cho ruby2.6, nhưng không phải cho ruby2.3 của macOS 10.14. Bạn có thể xác minh rằng đây là vấn đề của bạn bằng cách chạy

ruby -rrbconfig -e 'puts RbConfig::CONFIG["rubyhdrdir"]'

mà trên macOS 10.14 với Xcode 11 in đường dẫn không tồn tại

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0

Tuy nhiên, Xcode 11 cài đặt SDK macOS 10.14 bên trong /Library/Developer/CommandLineTools/SDKs/MacOS10.14.sdk. Không cần thiết phải làm ô nhiễm các thư mục hệ thống bằng cách cài đặt các tệp tiêu đề cũ như được đề xuất trong các câu trả lời khác. Thay vào đó, bằng cách chọn SDK đó, các tiêu đề ruby2.3 thích hợp sẽ được tìm thấy:

sudo xcode-select --switch /Library/Developer/CommandLineTools
ruby -rrbconfig -e 'puts RbConfig::CONFIG["rubyhdrdir"]'

Điều này bây giờ nên in chính xác

/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0

Tương tự, gem installnên hoạt động trong khi SDK đó được chọn.

Để chuyển về sử dụng SDK Xcode 11 hiện tại, hãy sử dụng

sudo xcode-select --switch /Applications/Xcode.app

6

sudo xcode-select --switch / Library / Developer / CommandLineTools

ruby -rrbconfig -e 'đặt RbConfig :: CONFIG ["rubyhdrdir"]'


Điều này làm việc cho tôi. Cảm ơn
dazzieta

1
  1. Excute: ruby -rrbconfig -e 'puts RbConfig::CONFIG["rubyhdrdir"]'để tìm ra cấu hình ruby ​​của bạn.
  2. Nếu đầu ra là đường dẫn MacOSX10.15 không tồn tại. Giống như: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0 Bạn nên sửa cấu hình bằng cách thực hiện bước tiếp theo.
  3. Tuyệt vời: sudo xcode-select --switch /Library/Developer/CommandLineTools
  4. Bạn có thể loại trừ: ruby -rrbconfig -e 'puts RbConfig::CONFIG["rubyhdrdir"]'một lần nữa để xem đường dẫn đã thay đổi.
  5. Đầu ra là /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0

Sau đó, bạn có thể thực hiện gem installđể cài đặt cocoapods!


Làm việc cho tôi :)
studentaccount4
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.