macos - what - त्रुटि: 'ब्रू लिंक' चरण सफलतापूर्वक पूरा नहीं हुआ




what is apple safari (13)

मैं होमब्री के माध्यम से node.js स्थापित करने की कोशिश कर रहा हूँ। दुर्भाग्य से, मुझे यह त्रुटि मिलती है:

➜  ~  brew install node
==> Downloading http://nodejs.org/dist/v0.8.10/node-v0.8.10.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/node/0.8.10
==> make install
==> Caveats
Homebrew installed npm.
We recommend prepending the following path to your PATH environment
variable to have npm-installed binaries picked up:
  /usr/local/share/npm/bin
Warning: Could not link node. Unlinking...
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link node'
==> Summary
/usr/local/Cellar/node/0.8.10: 856 files, 13M, built in 103 seconds

तो फिर मैं मैन्युअल रूप से नोड को जोड़ने की कोशिश करता हूं ...

➜  ~  brew link node
Linking /usr/local/Cellar/node/0.8.10... Warning: Could not link node. Unlinking...

Error: Could not symlink file: /usr/local/Cellar/node/0.8.10/lib/node_modules/npm/scripts/relocate.sh
Target /usr/local/lib/node_modules/npm/scripts/relocate.sh already exists. You may need to delete it.
To force the link and delete this file, do:
  brew link -f formula_name

To list all files that would be deleted:
  brew link -n formula_name

कोई भाग्य नहीं, इसलिए मैं जोर से नोड को जोड़ने की कोशिश करता हूं ...

➜  ~  brew link -f node
Linking /usr/local/Cellar/node/0.8.10... Warning: Could not link node. Unlinking...

Error: Permission denied - /usr/local/lib/dtrace/node.d

मैं किसी भी संबंध में dtrace से परिचित नहीं हूँ और मैं अनुमति के साथ गड़बड़ करने के लिए डर रहा हूँ, तो मैंने sudo करने की कोशिश की ..

➜ ~ git:(master) sudo brew link -f node
Password:
Error: Cowardly refusing to `sudo brew link'
You can use brew with sudo, but only if the brew executable is owned by root.
However, this is both not recommended and completely unsupported so do so at
your own risk.

मैंने brew uninstall node अनइंस्टॉल नोड के माध्यम से नोड को brew uninstall node करने का प्रयास किया है और बिना किसी किस्मत के इंस्टॉल को पुनः प्रयास कर रहा है।

https://code.i-harness.com


Node.js के लिए होमब्रू पैकेज में अब एनपीएम शामिल है, इसलिए जब यह स्टैंडअलोन संस्करण को हटाने के बारे में होमब्री पैकेज के संदेश को याद किया गया तो यह मेरे साथ हुआ।

मान लीजिए, मेरे जैसे, आप पहले से ही rm -rf /usr/local/lib/node_modules/npm को npm uninstall npm -g करने से पहले अपग्रेड करने का प्रयास करके नोड / एनपीएम तोड़ चुके हैं, आप पहले rm -rf /usr/local/lib/node_modules/npm कर सकते हैं और फिर brew link node । यह स्टैंडअलोन स्वयं-होस्टेड एनपीएम पैकेज को हटा देता है (बजाय एक ब्रू को इंस्टॉल करना चाहते हैं) और सेलर से अपने बंडल किए गए सिल्लिंक को ब्रूड करने देता है।


thx @suweller।

मैंने समस्या तय की:

➜  bin git:(master) ✗ brew link node
Linking /usr/local/Cellar/node/0.10.25... Warning: Could not link node. Unlinking...

Error: Permission denied - /usr/local/lib/node_modules/npm

मुझे सूअर के समान समस्या थी:

➜  bin git:(master) ✗ ls -la /usr/local/lib/ | grep node
drwxr-xr-x   3 24561  wheel   102 11 Okt  2012 node
drwxr-xr-x   3 24561  wheel   102 27 Jan 11:32 node_modules

इसलिए मैंने इस समस्या को ठीक किया:

➜  bin git:(master) ✗ sudo chown $(users) /usr/local/lib/node_modules
➜  bin git:(master) ✗ sudo chown $(users) /usr/local/lib/node

इस समस्या को ठीक करने के बाद मुझे एक और मिला:

➜  bin git:(master) ✗ brew link node
Linking /usr/local/Cellar/node/0.10.25... Warning: Could not link node. Unlinking...

Error: Could not symlink file: /usr/local/Cellar/node/0.10.25/lib/dtrace/node.d
Target /usr/local/lib/dtrace/node.d already exists. You may need to delete it.
To force the link and overwrite all other conflicting files, do:
  brew link --overwrite formula_name

To list all files that would be deleted:
  brew link --overwrite --dry-run formula_name

तो मैंने node.d को हटा दिया:

➜  bin git:(master) ✗ sudo rm /usr/local/lib/dtrace/node.d

एक और अनुमति त्रुटि मिली

➜  bin git:(master) ✗ brew link node
Linking /usr/local/Cellar/node/0.10.25... Warning: Could not link node. Unlinking...

Error: Could not symlink file: /usr/local/Cellar/node/0.10.25/lib/dtrace/node.d
/usr/local/lib/dtrace is not writable. You should change its permissions.

और इसे ठीक किया:

➜  bin git:(master) ✗ sudo chown $(users) /usr/local/Cellar/node/0.10.25/lib/dtrace/node.d

और अंत में सब कुछ काम किया:

➜  bin git:(master) ✗ brew link node
Linking /usr/local/Cellar/node/0.10.25... 1225 symlinks created

आप शायद पहले से ही एक अलग विधि का उपयोग कर node.js का पुराना संस्करण स्थापित कर चुके हैं, इसलिए आपको ब्रू के रास्ते में आने वाली फ़ाइलों को मैन्युअल रूप से निकालना होगा।

brew link -n node और उन विरोधाभासी फ़ाइलों और निर्देशिकाओं को मैन्युअल रूप से हटाएं, फिर brew link node दोबारा brew link node प्रयास करें।


आपको मैन्युअल रूप से npm पैकेज को हटाने की आवश्यकता है।

पहले नोड अनलिंक करें: brew link -n node

एनपीएम फ़ोल्डर को हटाएं: rm -R /usr/local/Cellar/node/0.8.10/lib/node_modules/npm

लिंक फिर से: brew link node

एनपीएम के नए स्थान के लिए एक नरम लिंक होगा


खोजक द्वारा, इस फ़ाइल को हटाएं:

/usr/local/lib/dtrace/node.d

टर्मिनल में:

$ brew link --overwrite --dry-run node

फिर:

$ brew link node

नोड के साथ अधिकांश ब्रू इंस्टॉल समस्याएं अनुमति त्रुटियों या पहले स्थापित नोड होने के कारण होती हैं और फिर ब्रू के माध्यम से इसे स्थापित करने का प्रयास करती हैं। अंततः मेरे लिए काम किया गया समाधान था:

चेतावनी: यह सावधानी के साथ उपयोग नोडजे (एकाधिक संस्करण) अनइंस्टॉल करेगा:

  1. ब्रू के माध्यम से नोड निकालें:

    अनइंस्टॉल नोड ब्रू

  2. बल के माध्यम से भी किया:

    अनइंस्टॉल नोड --force ब्रू

  3. स्क्रिप्ट स्रोत का उपयोग करने के लिए: नोड निकालें :

    curl -O https://raw.githubusercontent.com/DomT4/scripts/master/OSX_Node_Removal/terminatenode.sh

फिर:

chmod +x /path/to/terminatenode.sh

फिर:

./terminatenode.sh .
  1. फिर निम्न आदेश करना सुनिश्चित करें:

    $ USER / usr / स्थानीय दिखाया गया

  2. फिर एक ब्रू अपडेट करें (यह तब तक जारी रखें जब तक कि सभी चीजें अपडेट न हों):

    ब्रू अपडेट

  3. स्वच्छ ब्रू अप करें और फिर से अपडेट करें (अनावश्यक हो सकता है) और यह सुनिश्चित करने के लिए डॉक्टर चलाएं कि चीजें मौजूद हैं:

    ब्रू क्लीनअप; ब्रू अपडेट; ब्रू डॉक्टर

  4. और अंत में ब्रू (वर्बोज़) के माध्यम से नोड स्थापित करें:

    ब्रू इंस्टॉल -v नोड


मुझे थोड़ा देर हो चुकी है, मेरे लिए क्या काम किया गया यह था:

* npm uninstall npm -g

* brew uninstall node

* brew install node

* sudo rm -rf /usr/local/lib/dtrace/node.d

* brew link node (caused error with permissions)

* sudo chmod 777 /usr/local/lib/dtrace/node.d

* brew link node

इस अनुक्रम के बाद सबकुछ सफल रहा


मेरी समस्या का थोड़ा अलग समाधान था। निर्देशिका जिसमें ब्रू सिमलिंक बनाना चाहता था, वर्तमान उपयोगकर्ता के स्वामित्व में नहीं था।

ls -la /usr/local/bin/lib/node | grep node ls -la /usr/local/bin/lib/node | grep node उपज:

drwxr-xr-x    3 24561  wheel   102 May  4  2012 node
drwxr-xr-x    7 24561  wheel   238 Sep 18 16:37 node_modules

मेरे लिए, निम्नलिखित इसे ठीक किया गया है:

sudo chown $(users) /usr/local/bin/lib/node_modules
sudo chown $(users) /usr/local/bin/lib/node

ps। $(users) आपके उपयोगकर्ता नाम में विस्तारित हो जाएंगे, आलसी प्रतिलिपि पादरी की सहायता के लिए मेरे रास्ते से थोड़ी दूर चले गए;)


मै मैक ओएस एक्स मैवरिक्स चलाता हूं। मैंने नोड 0.10.25 स्थापित करने की कोशिश की और शीर्ष जवाब मेरे लिए काम नहीं किया।

natevw rm -rf /usr/local/lib/node_modules/npm -rf rm -rf /usr/local/lib/node_modules/npm लेकिन अगर /usr/local/lib/node_modules पर /usr/local/lib/node_modules इस तरह दिखती हैं:

drwxr-xr-x   3 root      admin   102 Feb  2 20:45 node_modules

तो ब्रू उस निर्देशिका में अपना एनपीएम सिम्लिंक बनाने में सक्षम नहीं होगा। मेरा समाधान यहाँ है:

चरण 1: होमब्रू अपडेट करें

$ brew update

चरण 2: अपने सिस्टम पर हर जगह नोड / एनपीएम निकालें

अतीत में नोड / एनपीएम कैसे स्थापित किया गया है, इस पर निर्भर करता है कि इनमें से कुछ आदेश आवश्यक नहीं हैं।

$ brew uninstall npm
$ brew uninstall node
$ npm uninstall npm -g
$ sudo rm -rf /usr/local/lib/node_modules

नोट: मेरे पास brew -v link node चलाकर मुझे मिली नोड फाइलें मिलीं (जिसने मुझे लिंकिंग त्रुटियों का वर्बोज आउटपुट दिया था, इसके बारे में शिकायत कर रही थी)। आपको इसकी आवश्यकता हो सकती है:

$ sudo rm -rf /usr/local/include/node
$ sudo rm -rf /usr/local/lib/node

चरण 3: नया टर्मिनल खोलें और नोड इंस्टॉल करें

$ brew install node

मैं थोड़ी देर के लिए इसके साथ संघर्ष कर रहा था। (मेरे लिए "एनपीएम अनइंस्टॉल npm -g" कुछ नहीं किया)

मैंने चीजों का एक गुच्छा कोशिश की:

npm uninstall npm -g
brew uninstall node
brew install node

जब भी मैं नोड फ़ाइलों को जोड़ने की कोशिश करता था तब भी मुझे कुछ समस्याएं थीं और त्रुटियां मिल रही थीं

अंत में मैंने कोशिश की

brew link --overwrite node

ऐसा लगता है कि यह तय किया गया है। (यह विरोधाभासी फाइलों को ओवरराइट करता है और नोड और एनपीएम को भी लिंक करता है)

उम्मीद है की यह मदद करेगा


मैंने अपने एनपीएम को गड़बड़ाने और इन होमब्रू संस्करणों के बीच संकुल स्थापित करने में भी कामयाब रहे और इससे कोई फर्क नहीं पड़ता कि मैंने कितनी बार अनलिंक / लिंक किया और अनइंस्टॉल किया / स्थापित नोड अभी भी काम नहीं किया।

जैसा कि यह पता चला है कि आपको पथ से एनपीएम को हटाना होगा अन्यथा होमब्रू इसे इंस्टॉल नहीं करेगा: https://github.com/mxcl/homebrew/blob/master/Library/Formula/node.rb#L117

उम्मीद है कि यह किसी भी समस्या के साथ किसी की मदद करेगा और उस घंटे को बचाएगा या इसलिए मुझे समस्या की तलाश में खर्च करना पड़ा ...


मैंने निम्नलिखित कमांड का उपयोग कर एल कैपिटन में इसे ठीक किया। ईमानदारी से, यह नहीं पता कि यह क्या करता है, लेकिन सोचा कि मैं अपनी समस्या को ठीक करने के बाद से साझा करूंगा।

brew link --overwrite node





homebrew