2015-01-02 21 views
12

Khi tôi chạySử dụng sudo cho gem install cocoapods

$ gem install cocoapods 

tôi nhận được

Fetching: i18n-0.7.0.gem (100%) 
ERROR: While executing gem ... (Gem::FilePermissionError) 
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory. 

Tôi đã đọc bài này cocoaPods pod install Permission denied nhưng câu trả lời đó không nói cho dù đó là đúng để chạy sudo trên gem install của bạn (mặc dù được hỏi trong Câu hỏi - tức là cài đặt sudo cacaoPods sai cách hoặc cách thông thường?).

Trả lời

12

Dường như bạn không sử dụng bất kỳ trình quản lý gói nào. Vì bạn không có quyền ghi vào thư mục này, không có gì sai khi sử dụng sudo cho gem install.

Tuy nhiên, tôi muốn thay đổi quyền sở hữu của thư mục đó, để tôi không phải sử dụng sudo mỗi lần.
tức là sudo chown -R [login name] /Library/Ruby/Gems/2.0.0

và đảm bảo rằng tôi có quyền ghi. sudo chmod -R u+w /Library/Ruby/Gems/2.0.0

Xem xét sử dụng rvm (ruby quản lý phiên bản) hoặc rbenv

+0

I _am_ using rvm. Tại sao nó có vẻ như tôi không? – Snowcrash

+0

Vâng, trong trường hợp đó, tôi khuyên bạn nên sử dụng 'rvmsudo' thay vì chỉ' sudo'. Kiểm tra liên kết này để biết thêm chi tiết: https://rvm.io/integration/sudo – Sahil

+2

bạn có thể sử dụng '' 'sudo chown -R $ USER/Library/Ruby/Gems/2.0.0''' để sao chép trực tiếp/dán – swalkner

13
sudo gem install cocoapods 

công trình đối với tôi

+0

Bạn không nên sử dụng sudo cho điều đó. Tốt hơn là khắc phục sự cố cơ bản, xem câu trả lời được chấp nhận khác. – bicycle

0

Bạn cần phải 'cập nhật Gems. Mở thiết bị đầu cuối, sau đó thực hiện điều này

sudo gem update 

Đủ rồi.

2

Đây là giải pháp khi bạn nhận được lỗi "Thao tác không được phép".

$ mkdir -p $HOME/Software/ruby 
$ export GEM_HOME=$HOME/Software/ruby 
$ gem install cocoapods 
[...] 
Các vấn đề liên quan