permissions ओएसएक्स 10.13 हाई सिएरा में होमब्री के लिए chown/usr/local नहीं दिखाया जा सकता है




homebrew (8)

सुनिश्चित करें कि आपके पास होम फ़ोल्डर पर लॉक सेट नहीं है या किसी भी फ़ोल्डर को इंस्टॉल करने की आवश्यकता है।

भले ही अनुमतियां और स्वामित्व सही तरीके से सेट हो और आप वर्तमान में सही उपयोगकर्ता / या रूट उपयोगकर्ता के साथ लॉग इन हैं, तो यह आपको नए फ़ोल्डर या निर्देशिका बनाने की अनुमति नहीं देगा।

होमब्रू को / usr / local में अनुमतियों की आवश्यकता है और चूंकि कोई भी मेरे लैपटॉप का उपयोग नहीं करता है, मैंने हमेशा किया है

sudo chown -R $(whoami) $(brew --prefix)

लेकिन हाई सिएरा में, यह देता है

chown: /usr/local: Operation not permitted

फिक्स क्या है?


मैंने इसका पीछा किया लेकिन समस्या अभी भी बनी हुई है।
इसलिए, मैंने पिछले एक को अनइंस्टॉल किए बिना होमब्रू को पुनर्स्थापित किया। अब यह काम कर रहा है!
(मुझे नहीं पता कि कैसे)




यदि आप zsh का उपयोग कर रहे हैं क्योंकि आप बैश से आते हैं तो आपको अपना $ पाथ बदलना पड़ सकता है। आपको export PATH=$HOME/bin:/usr/local/bin:$PATH .zshrc में export PATH=$HOME/bin:/usr/local/bin:$PATH जोड़ना चाहिए

तो यह काम करना चाहिए, इस समस्या से मेरे मैक में यह समस्या हल हो गई।


सिस्टम इंटीग्रटी प्रोटेक्शन को अक्षम करने का प्रयास करें। दस्तावेज़ीकरण से:

सिस्टम इंटीग्रटी प्रोटेक्शन csrutil (1) कमांड का उपयोग करके कॉन्फ़िगर किया जा सकता है।

टर्मिनल में निम्न आदेश चलाकर आप जांच सकते हैं कि सिस्टम इंटीग्रटी प्रोटेक्शन वर्तमान में आपके सिस्टम पर सक्षम है या नहीं:

$ csrutil status
System Integrity Protection status: enabled.

सिस्टम इंटीग्रटी प्रोटेक्शन को सक्षम या अक्षम करने के लिए, आपको रिकवरी ओएस पर बूट करना होगा और टर्मिनल से csrutil (1) कमांड चलाएं।

अपनी मशीन को पुनरारंभ करके रिकवरी ओएस पर बूट करें और स्टार्टअप पर कमांड और आर कुंजी दबाए रखें। उपयोगिता मेनू से टर्मिनल लॉन्च करें। निम्न आदेश दर्ज करें: $ csrutil enable

मशीन पर सिस्टम इंटीग्रटी प्रोटेक्शन को सक्षम या अक्षम करने के बाद, रीबूट की आवश्यकता होती है।


आप /usr/local लिए अनुमति नहीं बदल सकते हैं, लेकिन आप नीचे फ़ोल्डर्स के लिए सही अनुमति बदल सकते हैं, इसलिए यह तय किया गया
sudo chown -R $(whoami) /usr/local/*


दुर्भाग्य से आप हाई सिएरा में अब /usr/local नहीं दिखा सकते हैं। एक कामकाज sudo mkdir /usr/local/include और /usr/local/Frameworks अगर वे मौजूद नहीं हैं, और

sudo chown -R $(whoami) $(brew --prefix)/*

इस सरल कामकाज और अद्भुत होमब्री के लिए ilovezfs के लिए धन्यवाद!