Thiếu / usr / bao gồm trong OS X El Capitan


19

Tôi đã cố gắng xây dựng một ứng dụng phụ thuộc vào PJSIPlib nên có một số tiêu đề /usr/include. Nhưng không có /usr/includethư mục và tôi không thể tạo ngay cả tài khoản của mình có quyền quản trị viên.

Làm thế nào có thể là includethư mục, kích hoạt / tạo / khôi phục?

Câu trả lời:


15

Cập nhật (ngày 12 tháng 2 năm 2016):

Cuối cùng tôi đã cài đặt El Capitan và bây giờ có thể xác nhận rằng câu trả lời của Ondřej Čertík là chính xác. Tôi thực sự khuyên bạn nên cài đặt các công cụ phát triển dòng lệnh thay vì vô hiệu hóa SIP.

Như Ondřej đã lưu ý, chỉ cần cài đặt Xcode sẽ không cài đặt tất cả các công cụ phát triển dòng lệnh. Bạn phải thực thi xcode-select --installtrong Terminal.


Bài gốc (ngày 5 tháng 12 năm 2015):

Viết quyền truy cập vào / System, / bin, / sbin, / usr, / etc, / tmp và / var đã bị tắt theo mặc định trong El Capitan, ngay cả đối với root. Điều này là do tính năng Bảo vệ toàn vẹn bảo mật mới .

Để tắt SIP , khởi động vào chế độ phục hồi và thực hiện lệnh csrutil disabletrong Terminal.

Tuyên bố miễn trừ trách nhiệm: Tôi chưa tự mình kiểm tra điều này vì tôi chưa nâng cấp lên El Capitan.


1
Đã xác nhận ! Hoạt động ở El Capitan cũng vậy
chơi chữ

1
Tôi đã tìm ra nó và quên trả lời câu hỏi của riêng tôi. Tôi sẽ chấp nhận của bạn vì nó chính xác.
tesla

3
Trên hệ thống của tôi, cách khắc phục thích hợp là chỉ cài đặt /usr/includesử dụng xcode-select --installvà bật SIP. Xem câu trả lời của tôi dưới đây để biết thêm.
Ondřej Čertík

14

Theo mặc định, khi bạn cài đặt Xcode ("công cụ dành cho nhà phát triển") từ App Store trên El Capitan, nó không cài đặt "công cụ phát triển dòng lệnh" bao gồm /usr/include. Để cài đặt "công cụ phát triển dòng lệnh", hãy thực thi xcode-select --install, nó sẽ nhắc bạn về việc bạn có muốn nhận các công cụ dòng lệnh Xcode + từ App Store không (nhưng tôi đã cài đặt Xcode từ App Store và dường như nó không bao gồm lệnh tiện ích dòng), vì vậy tôi đã chọn "cài đặt" và cài đặt /usr/includetrong số những thứ khác.

Đối với Bảo vệ tính toàn vẹn hệ thống (SIP), hãy để nó được kích hoạt, vì đó dường như là một điều tốt. Lý do xcode-select --installđược quản lý để cài đặt vào /usrthư mục được bảo vệ có lẽ xcode-selectlà do SIP được đưa vào danh sách trắng.


1
Tôi nghĩ Xcode 8.x bao gồm các công cụ dòng lệnh, nhưng chỉ cần thực hiện điều này trên bản cài đặt mới của MacOS Sierra . Tôi đã cài đặt Xcode trước, sau đó vẫn phải thực hiện xcode-select --installđể có được các công cụ.
leanne
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.