ब्रू डॉक्टर कहते हैं: "चेतावनी: / usr / स्थानीय / शामिल नहीं है।"


352

क्रू डॉक्टर कहते हैं:

चेतावनी: / usr / स्थानीय / शामिल नहीं है। ऐसा हो सकता है यदि आप "sudo make install" सॉफ्टवेयर का प्रबंधन करते हैं जो Homebrew द्वारा प्रबंधित नहीं है।

यदि कोई काढ़ा इस निर्देशिका में हेडर फ़ाइल लिखने की कोशिश करता है, तो लिंक चरण के दौरान इंस्टॉल विफल हो जाएगा।

आपको संभवतः chown/ usr / स्थानीय / शामिल होना चाहिए

मैंने इसे हल करने के लिए अलग-अलग कमांड की कोशिश की है, लेकिन मैं अभी भी यहाँ अटका हुआ हूँ।

मैं 10.8.2 पर होमब्रेव कर रहा हूं


1
मुझे Homebrew 0.9.4 में "/ usr / स्थानीय / परिवाद" के लिए एक समान त्रुटि मिली जिसे नीचे दिए गए समाधान के साथ भी हल किया गया था।
यिर्मयाहल

जवाबों:


680

उसका स्वामित्व और उसमें सब कुछ ले लो।

मैक ओएस हाई सिएरा या नया: (नीचे टिप्पणियों में कर्क से ty)

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

मैकोस के पिछले संस्करण:

$ sudo chown -R $USER:admin /usr/local/include

फिर दूसरा करें

$ brew doctor

12
कार्रवाई की अनुमति नहीं?
टॉपवीक

68
इसके बजाय कोई फायदा $ sudo chown -R `whoami` /usr/local/?
लाबू

2
@ एक कम प्रक्रिया कांटा? whoami प्रभावी उपयोगकर्ता आईडी है और जैसा कि मैन पेज कहता है कि अप्रचलित है: OSX पर bash डिफ़ॉल्ट शेल है और कहीं USER सेट हो रहा है।
18

7
मुझे आश्चर्य है कि क्या उपयोगकर्ता / स्वच्छ / स्थानीय का स्वामित्व एक स्वच्छ समाधान के रूप में बदल रहा है। क्या $ USER को 'पहिया' समूह में जोड़ना बेहतर नहीं होगा? या व्यवस्थापक समूह के लिए / usr / स्थानीय के समूह को बदलें?
माइकल लेह्न

13
मैक ओएस हाई सिएरा में होमब्रे के अनुसार /usr/localअब और काम नहीं करता है। इसके बजाय का उपयोग करेंsudo chown -R $(whoami) $(brew --prefix)/*
Kirk Hammett

115

मेरे लिए जो काम किया वह भी था

sudo chmod g+w /usr/local
sudo chgrp staff /usr/local

20
यह एकमात्र एकमात्र फिक्स है, जो वास्तव में एक
मल्टीसियर

3
इस आदमी को कुछ वोट प्राप्त करने की आवश्यकता है! ;) यह बहुत अच्छा काम किया।
jrista

1
यह बेहतर समाधान है IMHO
जैकुर्टिस

5
खैर, हाई सिएरा में नहीं। "फ़ाइल मोड को / usr / लोकल पर बदलने में असमर्थ: ऑपरेशन की अनुमति नहीं है"
user980018

1
@ user980018 मैं बस एक ही चीज़ में भाग गया - यहाँ पर मैंने
केसी डेविडसन


37

अल कैपिटन पर मेरे लिए काम करने वाला एकमात्र व्यक्ति था:

sudo chown -R $(whoami) /usr/local

5
chown: / usr / लोकल: ऑपरेशन की अनुमति नहीं है
AlxVallejo

1
@AlxVallejo इस पर कर रहा है / usr / स्थानीय / बिन मेरे लिए काम किया
marcotama

23

यदि आप उच्च सिएरा में हैं और इस समस्या का सामना कर रहे हैं , तो नीचे दिए गए चरणों का पालन करें ( नोट: / usr / स्थानीय को उच्च सिएरा में चुना नहीं जा सकता है :

sudo mkdir /usr/local/include
sudo chown -R $(whoami) $(brew --prefix)/*

फिर काढ़ा लिंक के साथ जोड़ने की कोशिश करें। मैं इसी तरह के मुद्दे का सामना कर रहा था और ऊपर दिए गए समाधानों में से कोई भी उच्च सिएरा के लिए काम नहीं कर रहा था। आशा है कि यह किसी की मदद करता है।


20

उच्च सिएरा के लिए:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

फिर, अपने काढ़ा आदेश का प्रयास करें।

अंक # 3285


2
सुनिश्चित नहीं हैं कि यह अस्वीकृत क्यों किया गया था, अगर आपने पहले काढ़ा स्थापित किया था और उच्च सिएरा में अपग्रेड किया था, तो होमब्रे को पुनः स्थापित करना समस्या को हल करता है। यह सबसे आसान तरीका है
sam9046

विडंबना यह है कि क्योंकि स्क्रिप्ट वही करती है जो अन्य उत्तर सुझा रहे हैं।
लाइट ऑर्बिट दौड़

यह मेरे लिए काम करता है, लेकिन पहले मैंने पिछले उपयोग की स्थापना रद्द कर दी: रूबी -e "$ (कर्ल-एफएफएसएल रॉ.गिथुबसर्कंटेंटेंट / हेम्ब्रे / इंस्टॉलेशन / मास्टर / इंस्टॉलेशन )"
abbas

12

आप इस समस्या को ठीक करने के लिए आदेश को अन्य नाम दे सकते हैं .bash_profile और इसे हर बार जब भी आप इसे सामना करते हैं, तब इसे चला सकते हैं:

फ़ाइल के अंत में ~/.bash_profile, जोड़ें:

alias fix_brew='sudo chown -R $USER /usr/local/'

और अब आपके टर्मिनल के अंदर आप चला सकते हैं:

$ fix_brew

12

यह मेरे लिए macOS 10.12 पर काम किया

sudo chown -R $(whoami) /usr/local

मुझे निम्न त्रुटि के साथ होमब्रे को अपडेट करने में समस्या थी:

/usr/local is not writable. You should change the ownership
and permissions of /usr/local back to your user account:
  sudo chown -R $(whoami) /usr/local

8

कुछ के लिए यह होने जा रहा है:

sudo chown -R JonJames:admin /usr/local/lib

जहाँ "लिब" का प्रयोग "बिन" या "शामिल" या "जो कुछ भी हो" के विपरीत किया जाता है

Homebrew चेतावनी "" यह स्पष्ट करना चाहिए कि क्या विशेष रूप से लेखन योग्य नहीं है और फिर आपको अनुसरण करने के लिए एक कमांड सिंटैक्स देता है, हालांकि आपको ":" का उपयोग करने की आवश्यकता होगी, जो कि चेतावनी का विरोध करता है जो वास्तव में सही सिंटैक्स नहीं है ??


चेतावनी में वाक्य-विन्यास थोड़ा भ्रमित करने वाला है, मेरा मानना ​​है कि, मैंने होमब्रे के लिए मुख्य योगदानकर्ता को ईमेल करके पूछा कि क्या वे इसके बारे में कुछ भी बदलेंगे, उत्तर की प्रतीक्षा कर रहे हैं, शायद भविष्य के वाट्सएप अपडेट में चेतावनी की क्रिया बदल जाएगी ..
जोनाथन

धन्यवाद! इसने काफी मात्रा में खोज के बाद काम किया।
यहवेप


5

MacOS 10.13 पर समान त्रुटि

/usr/local/includeऔर /usr/local/ /usr/libनहीं बनाए गए थे। मैंने मैन्युअल रूप से बनाया और brew linkअंत में काम किया।


3

यदि आपके पास मौजूद नहीं है तो आपको / usr / लोकल / शामिल और / usr / स्थानीय / lib बनाने की आवश्यकता है:

$ sudo mkdir -p /usr/local/include
$ sudo chown -R $USER:admin /usr/local/include

3

मेरे पास और क्या काम है, जबकि मेरे पास अधिक हैमेरे कंप्यूटर पर 1 से उपयोगकर्ता ।

टर्मिनल का उपयोग करना:

  • चल रहा है brew doctor
    • एकाधिक /usr/local/...को देखना त्रुटीपूर्ण त्रुटि नहीं है
  • मैक की सिस्टम इंटीग्रिटी प्रोटेक्शन को डिसेबल करना: https://apple.stackexchange.com/a/208481/55628
  • निम्न को चलाएँ
  • sudo chown -R $(whoami) /usr/local/*
  • brew doctor && brew upgrade && brew doctor

मैकबुक प्रो OSX हाई सिएरा (संस्करण 10.13.3) चल रहा है

संपादित करें 1:

FYI करें - कृपया सलाह दें कि यह आपके MAC पर MySQL चलाने के साथ एक समस्या का कारण बनता है।

अपना स्थानीय सर्वर शुरू करने में सक्षम होने के लिए, मुझे दौड़ना पड़ा:

sudo chown -R mysql:mysql /usr/local/mysql/data

इसे चलाने के बाद आप अपना स्थानीय MySQL सर्वर शुरू कर सकते हैं।


1
अति उत्कृष्ट! धन्यवाद!
शमुली

3
sudo mkdir -p /usr/local/include /usr/local/lib /usr/local/sbin

sudo chown -R $(whoami) /usr/local/include /usr/local/lib /usr/local/sbin

यह सभी आवश्यक निर्देशिकाएं बनाएगा और इसे सही स्वामित्व देगा।

इन आदेशों को चलाने के बाद: brew doctor

यह Mojave के लिए काम करता है।


2

आपको ऐसा करने के लिए संपूर्ण नियंत्रण प्राप्त करने की /usr/localआवश्यकता है chownजिसके तहत आपको पुनरावर्ती करने की आवश्यकता है/usr/local

sudo chown -R YOUR_USERNAME:admin /usr/local/


2

मैं सिर्फ एक वैकल्पिक और संभावित रूप से बहुत आसान समाधान के रूप में sam9046 की विनम्र टिप्पणी को प्रतिध्वनित करना चाहता हूं जो मेरे मामले में काम करता है: होमब्रे को फिर से खरोंच से अनइंस्टॉल और इंस्टॉल करें। कोई sudo कमांड की आवश्यकता नहीं है।

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



2

सबसे पहले आपको निर्देशिका बनाने की आवश्यकता है:

sudo mkdir /usr/local/include

दूसरा:

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

1

मेरे संगठन में ऐसा तब हुआ है जब हमारे सभी उपयोगकर्ता सक्रिय निर्देशिका (प्रभावी रूप से यूआईडी को 50x से बदलकर ######) करने के लिए बाध्य थे।

अब यह केवल उन सभी फाइलों के स्वामित्व को बदलने का मामला है जहां x से y के स्वामित्व में थे।

जहां 501 मेरी पुरानी सांख्यिक उपयोगकर्ता आईडी है जो अभी भी सभी होमब्रे फाइलों के साथ जुड़ी हुई है।

पुरानी उपयोगकर्ता आईडी का उपयोग करके पाया जा सकता है ll /usr/local/Cellar

अब स्वामित्व अपडेट करें sudo find /usr/local -user 501 -exec chown -h $USER {} \;

इस तरह हम उन फाइलों पर स्वामित्व बदलने से बचते हैं जो होमब्रे द्वारा नियंत्रित नहीं हैं या किसी अन्य सिस्टम उपयोगकर्ता से संबंधित हैं।


1

/ बिन निर्देशिका में जाएं और टाइप करें:

chown -R $ (whoami): व्यवस्थापक / usr / स्थानीय / बिन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.