इंस्टॉल किया गया, बस लिंक नहीं किया गया


86

नोट: मैं शेल का उपयोग करने में बहुत अच्छा नहीं हूं।

मैं Yosemite पर Valgrindउपयोग कर स्थापित करने का प्रयास कर रहा था brew

brew install --HEAD valgrind

अंत में, मुझे लिंक करने में त्रुटि हुई, इसलिए जब मैंने पुनः स्थापित करने का प्रयास किया, तो मुझे:

चेतावनी: Valgrind-HEAD पहले से इंस्टॉल है, यह सिर्फ लिंक नहीं है

तो जाहिर है मैं इसे पहले ही स्थापित कर चुका हूँ। फिर अन्य SO प्रश्नों और उत्तरों के आधार पर, मैंने कोशिश की:

brew link valgrind

यह पहले से स्थापित सॉफ़्टवेयर को जोड़ने के साथ अन्य लोगों की समस्याओं को हल करने के लिए लग रहा था, लेकिन इससे मुझे एक त्रुटि मिली:

Linking /usr/local/Cellar/valgrind/HEAD... 
Error: Could not symlink lib/pkgconfig/valgrind.pc
/usr/local/lib/pkgconfig is not writable.

मैंने भी अपडेट करने की कोशिश की brewलेकिन यह समस्या हल नहीं हुई। यदि यह लिखने योग्य नहीं है, तो शायद sudoमुझे अनुमति दे दे , लेकिन मैं यह sudoजानने के बिना उपयोग नहीं करना चाहता कि मैं क्या कर रहा हूं।

क्या हो रहा है और मैं इसे कैसे ठीक करूं?

जवाबों:


103

एक अनुमति मुद्दे की तरह दिखता है। मैं ऐसा करने की कोशिश करूंगा

chmod 755 /usr/local/lib/pkgconfig

यह है कि उपलब्ध करना चाहिए, तो प्रयास करें

brew link valgrind

अगर वह काम नहीं करता है तो मैं इस पर एक जांच करने की कोशिश करूंगा

brew doctor

5
मैं brew doctorनिर्देशों का उपयोग करता हूं , और फिर chownसमस्या को हल करने के लिए दो बार उपयोग करता हूं ।
yanzi1225627

2
@ yanzi1225627 दो बार क्यों?
ग्रेग हिल्स्टन

31

पहला रन

brew link <package>

यदि यह एक त्रुटि देता है, तो स्वचालित निदान के लिए प्रयास करें

brew doctor

brew doctor उन समस्याओं की एक सूची देता है जो स्थापना प्रक्रिया में त्रुटियों के लिए अग्रणी हो सकती हैं।

परस्पर विरोधी फ़ाइलों के मामले में समस्याओं को ठीक करने के लिए, उन सभी कार्यों की एक सूची प्राप्त करने के लिए चलाएं जिन्हें वास्तव में प्रदर्शन किए बिना ओवरराइट द्वारा निष्पादित किया जाएगा

हटाई जाने वाली सभी फ़ाइलों को सूचीबद्ध करने के लिए:

  brew link --overwrite --dry-run <package>

इस रन के बाद जो अधिलेखित को निष्पादित करेगा, आपको लगता है कि अधिलेखित द्वारा किए गए कार्य आपके सिस्टम को अधिक स्थिर स्थिति में ले जाएंगे ।

लिंक को बाध्य करने और सभी परस्पर विरोधी फ़ाइलों को अधिलेखित करने के लिए:

 brew link --overwrite <package>

13

यदि समाधान से ऊपर कोई भी काम नहीं करता है, तो यह प्रयास करें।

sudo chown -R $USER:admin /usr/local
brew link <package-name>

3

मेरे मामले में, काढ़ा डॉक्टर ने इसे सही पाया। कुछ बिंदु पर / usr / स्थानीय / lib / pkgconfig को मेरे खाते के बजाय रूट के स्वामित्व में सेट किया गया था । निर्धारित उपाय काम किया -

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

2

मेरे पास एक ही समस्या थी और मैंने अगले समाधान के साथ हल किया: अपनी सभी त्रुटियों की जांच करने के लिए टर्मिनल से काढ़ा चिकित्सक चलाएं

फिर अगला कमांड चलाएं:

sudo chown -R $USER:admin /usr/local/bin /usr/local/etc /usr/local/sbin /usr/local/share

चलाने के बाद:

brew link <package_name>

1

प्रकार

link valgrind

यह एक त्रुटि दिखाएगा कि इसे लिंक नहीं किया जा सकता है क्योंकि ऐसी-और-निर्देशिका ऐसी नहीं है। कूल, हम इसे अब योग्य बनाते हैं। प्रकार

sudo chmod a+w the/directory/shown/as/error

यदि निर्देशिका लिखने योग्य नहीं है, तो आप इसकी अनुमति नहीं बदल सकते हैं और इसे योग्य भी बना सकते हैं। सूडो इस ऑपरेशन को संभव बनाएंगे। chmod मोड को बदल देगा और सभी (a) उपयोगकर्ताओं को इसे (w) लिखने में सक्षम बना देगा।

आगे आपको अपने सिस्टम का पासवर्ड टाइप करने के लिए प्रेरित किया जाएगा। इसके बाद फिर से टाइप करें

link valgrind

और यह इस समय काम करेगा।


1

यहाँ मैं कोशिश की है और यह काम किया है:

$ brew link --overwrite sdl
Linking /usr/local/Cellar/sdl/1.2.15...
Error: Could not symlink lib/pkgconfig/sdl.pc
/usr/local/lib/pkgconfig is not writable.

के लिए देखा pkgconfig: (बाद chmod 750)

drwxr-xr-x   4 root           wheel   136B Mar 30  2013 pkgconfig

मैंने chownनीचे दिए अनुसार कोशिश की:

$ sudo chown -R  avkashchauhan:admin /usr/local/lib/pkgconfig

यह नीचे जैसा दिखना चाहिए:

drwxr-xr-x   4 avkashchauhan  admin   136B Mar 30  2013 pkgconfig

इसके बाद मैंने इसे आजमाया:

$ brew link sdl                                                                                                                                                                                                                    
Linking /usr/local/Cellar/sdl/1.2.15... 182 symlinks created

0

मुझे एक ऐसी ही समस्या हुई,

$ brew स्थापित करें sqlite अपडेट करने वाला Homebrew ... ==> ऑटो-अपडेटेड Homebrew! अपडेट किया गया 1 टैप (होमब्रे / कोर)। सूत्रों में कोई परिवर्तन नहीं

चेतावनी: sqlite-3.17.0 पहले से ही स्थापित है, यह सिर्फ लिंक नहीं है।

मैंने इसे लिंक करने की कोशिश की,

$ काढ़ा लिंक sqlite चेतावनी: sqlite केवल केग है और इसे --force नोट के साथ जोड़ा जाना चाहिए ताकि ऐसा करने से भवन निर्माण सॉफ्टवेयर में बाधा उत्पन्न हो सके।

फिर इसे बलपूर्वक करें,

$ काढ़ा लिंक --फोर्स साइक्लाइट लिंकिंग /usr/local/Cellar/sqlite/3.17.0 ... 8 सिम्लिंक बनाए


0

मुझे अनुमति के बारे में एक ही समस्या थी, लेकिन मैं अपनी अनुमति देने के बाद भी त्रुटि की अनुमति देता हूं। और यहाँ मैं, पहले:

brew unlink valgrind

और फिर,

brew link valgrind

उममीद है कि इससे मदद मिलेगी।


0
brew install cocoapods --build-from-source
brew link --overwrite cocoapods

MAC OS Mojave 10.14.6 में अपग्रेड करने के बाद मेरे लिए काम करने वाली एकमात्र कमांड

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