2012-03-21 14 views
38

मैं एक मानक homebrew है usr/स्थानीय के अंदर स्थापित/Homebrew स्थापित अनुमतियाँ मुद्दा

जब मैं कोशिश:

Larson-2:~ larson$ brew install postgresql 
Error: Cannot write to /usr/local/Cellar 

और जब मैं sudo का उपयोग करें:

Larson-2:~ larson$ sudo brew install postgresql 
Cowardly refusing to `sudo brew install' 

मैं क्या कर रहा हूँ गलत कर रहे हो

+0

आप 'sudo काढ़ा install' कर सकते हैं लेकिन आप पहली बार बदलने की जरूरत है ब्रू उपयोगिता की अनुमतियां ताकि यह रूट के स्वामित्व में हो। यह सुरक्षा विशेषता है। – mxcl

+0

लगता है कि नीचे दी गई विधि ब्रू उपयोगिता की अनुमतियों को बदलती है, क्या मैं सही हूँ? –

+0

नहीं, यह नहीं है। – mxcl

उत्तर

119

आप किसी भी तरह /usr/local/Cellar पर सीमित अनुमतियां हैं। ब्रू सूडो के साथ स्थापित करना पसंद नहीं करता है, यही कारण है कि यह मना कर देता है।

चेक अनुमतियाँ:

ls -ld /usr/local/Cellar

उन्हें खोलें लिखने के लिए:

sudo chmod a+w /usr/local/Cellar

+1

अच्छा, मैंने देखा है अन्य तरीकों जैसे /usr/स्थानीय/सेलर के मालिक को बदलने Whoami करने के लिए या की अनुमति दे समूहों/usr/स्थानीय – orlybg

+6

उसके बाद पर लिखने के लिए मैं 'मिला त्रुटि: अनुमति अस्वीकृत -/लाइब्रेरी/कैश/होमब्रू/फॉर्मूला/... 'और' सुडो चमोद-आर ए + डब्ल्यू/लाइब्रेरी/कैश/होमब्रू ' – gfpacheco

+0

के साथ हल किया गया धन्यवाद @gfpacheco – Lukas

5

मैं समूह की अनुमतियों को बदल देंगे:

$ chgrp -R admin /usr/local/Cellar 
$ chmod g+w /usr/local/Cellar 

अपने उपयोगकर्ता संभालने खाता समूह विज्ञापन में है मि।

9

brew (सुरक्षा कारणों से) के साथ काम करते समय sudo का उपयोग न करें।

आपको अपनी अनुमतियों को सरल सेट अप करना होगा।

तो मैं भी आगे जाना होगा और के लिए अनुमतियां बदलें:

sudo chgrp -R admin /usr/local /Library/Caches/Homebrew 
sudo chmod -R g+w /usr/local /Library/Caches/Homebrew 

और उसके बाद उपयोगकर्ता जो brew आदेश का उपयोग करने के लिए अनुमति दी जानी चाहिए करने के लिए विशिष्ट समूह (या तो admin या staff) लागू होते हैं। अपने उपयोगकर्ता के समूह को चेक करें: id -Gn)।

यदि और समस्याएं हैं, तो चलाएं: brew doctor क्या गलत है यह देखने के लिए।

1

यह भी होता है यदि आपके मशीन पर एकाधिक उपयोगकर्ता हैं। यदि ऐसा है, तो आपके लिए उपयोगकर्ता को बदलने के लिए सबसे अच्छा होगा क्योंकि हर दूसरे दृष्टिकोण से आप बस/usr/local/cellar

su userWhoInstalledBrew का उपयोग करके बहुत अधिक फ़ाइलों और फ़ोल्डर्स के साथ गड़बड़ कर रहे होंगे।

0

समस्या वर्तमान उपयोगकर्ता के लिए निर्देशिका के स्वामी को परिवर्तित करके हल किया जा सकता:

sudo chown -R $USER /usr/local 

इस उत्तर से लिया जाता है: https://github.com/Homebrew/homebrew/issues/17884

+0

हाई सिएरा उपयोगकर्ताओं के लिए अपडेट, '/ usr/local' अब 'chown'ed नहीं किया जा सकता है (देखें [यहां] (https://github.com/Homebrew/brew/issues/3228))। हाई सिएरा उपयोगकर्ताओं को होमब्री को भी पुनर्स्थापित करना पड़ सकता है। –

संबंधित मुद्दे