कैसे से बचने के लिए "OSX पर homebrew से ऐसी फाइल - बर्तन / पोपेन लोड नहीं कर सकते हैं"


327

brewटर्मिनल में चलने पर मुझे एक त्रुटि हो रही है :

 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- utils/popen (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/Homebrew/utils.rb:6:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/Homebrew/global.rb:9:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/brew.rb:16:in `<main>'

ये मेरी रत्न सेटिंग्स हैं:

- RUBYGEMS VERSION: 2.0.14
- RUBY VERSION: 2.0.0 (2014-02-24 patchlevel 451) [universal.x86_64-darwin13]
- INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
  - ruby
  - universal-darwin-13
- GEM PATHS:
  - /Library/Ruby/Gems/2.0.0
  - /Users/ronaldkwan/.gem/ruby/2.0.0
  - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0
- GEM CONFIGURATION:
  - :update_sources => true
  - :verbose => true
  - :backtrace => false
  - :bulk_threshold => 1000

1
क्या आप जानकारी जोड़ सकते हैं? आपने वास्तव में क्या आदेश चलाया?
यूनीहेड्रोन

मैंने सिर्फ यूनिक्स में "काढ़ा" टाइप किया
kerokero

जब आप दौड़ते हैं तो क्या होता है brew doctor?
ग्रेनियर्म

वही त्रुटि। यहाँ मेरी env रत्न सेटिंग्स हैं
kerokero

लगता है कि आपकी माणिक स्थापना अधूरी है। किसी अन्य रूबी स्थापना को पुन: स्थापित या उपयोग करने का प्रयास करें।
गोरूट

जवाबों:


803

मुख्य रूप से OS X को El Capitan (OS X 10.11) या macOS Sierra (macOS 10.12) को अपडेट करने के बाद समस्या होती है।

ऐसा एल कैपिटन या बाद में मैकओएस की नई एसआईपी प्रक्रिया के साथ फाइल अनुमति मुद्दों के कारण है/usr/localनिर्देशिका के लिए अनुमतियाँ बदलने का प्रयास करें :

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

यदि यह अभी भी काम नहीं करता है, तो टर्मिनल सत्र के अंदर इन चरणों का उपयोग करें और सबकुछ ठीक हो जाएगा:

cd /usr/local/Library/Homebrew  
git reset --hard  
git clean -df
brew update

ऐसा इसलिए हो सकता है क्योंकि homebrew अपडेट नहीं किया गया है।


39
मुझे एल कैपिटन अपडेट के कारण होने वाली समस्या थी। इससे समस्या हल हो गई। धन्यवाद।
विवेक

4
यहाँ भी, El Capitan में अपग्रेड करके इसे तोड़ दिया गया, मुझे पहले अनुमतियां रीसेट करनी पड़ीं और फिर git कमांड चलाएं और काढ़ा अपडेट काम किया। धन्यवाद।
बॉब

4
यह सही उत्तर है यदि आप एल कैपिटान पर अपग्रेड करने के बाद उस समस्या का सामना कर रहे हैं :)
रसायन 6

3
मैकओएस सिएरा में अपग्रेड करने के बाद यह मुद्दा था । यह इसे हल किया, धन्यवाद! हालाँकि, अब अनुमतियाँ बदलने की /usr/localआवश्यकता नहीं लगती है। "होमब्रे को अब / usr / लोकल के स्वामित्व की आवश्यकता नहीं है। यदि आप चाहें तो आप /usr/localइसके साथ अपने डिफ़ॉल्ट स्वामित्व में वापस आ सकते हैं : sudo chown root:wheel /usr/local"
बर्ट

5
दूसरा तरीका मेरे लिए काम कर गया। मुझे केवल यह पता लगाने की आवश्यकता थी कि HOMEBREWनिर्देशिका कहाँ स्थित थी। मेरे मामले में:/usr/local/Library/Homebrew
अलेक्जेंडर

378

सबसे पहले, एक टर्मिनल सत्र खोलें और चलाएँ:

cd /usr/local/
git status

यह देखने के लिए कि क्या Homebrew साफ है।

यदि यह गंदा है, तो दौड़ें:

git reset --hard && git clean -df

फिर

brew doctor
brew update

यदि यह अभी भी टूटा हुआ है, तो अपने सत्र में यह प्रयास करें:

sudo rm /System/Library/Frameworks/Ruby.framework/Versions/Current
sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/1.8 /System/Library/Frameworks/Ruby.framework/Versions/Current

यह Homebrew को सिस्टम की स्थापना से रूबी 1.8 का उपयोग करने के लिए मजबूर करेगा।


7
शायद एक अच्छा जवाब है, लेकिन दोनों आदेश देते समय BTW मुझे अन्य त्रुटियां मिलती हैं (मैं उल्लेख करता हूं कि कोई भी इस बात को आगे के परिदृश्य को कवर करना चाहता है): - rm: /System/Library/Frameworks/Ruby.framework/Versions/Current: ऑपरेशन की अनुमति नहीं है
पांडावुड

4
मैंने बस एक नए संस्करण के साथ होमब्रेव को फिर से स्थापित किया और यह काम करना शुरू कर दिया। स्थापित करने के लिए लिंक के साथ होमब्रेव होमपेज की जांच करें, और जब आप इसे आज़माते हैं तो यह शिकायत करेगा कि होमब्रे पहले ही स्थापित है और आपको स्थापना रद्द करने का तरीका सिखाता है।
पर्ट्ज़

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

यदि आपको रूबी के साथ त्रुटियां हो रही हैं और आप आरवीएम का उपयोग कर रहे हैं, rvm use systemतो यह सुनिश्चित करने के लिए जारी करने का प्रयास करें कि आप मैक ओएस एक्स के रूबी का उपयोग कर रहे हैं जब दौड़ रहे होंbrew update
डेविड जेआर

ध्यान दें कि OS X के हाल के संस्करणों पर डिफ़ॉल्ट रूबी 2.0 नहीं, 1.8 है।
bfontaine

82

होमब्रे को अनइंस्टॉल करें:

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

फिर पुनर्स्थापित करें

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

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


1
मैं Homebrew की स्थापना रद्द करता हूं और फिर एक पुनर्स्थापना करता हूं। मुद्दा तय किया। @OsTa माणिक -e "$ (कर्ल -fsSL raw.githubusercontent.com/Homebrew/install/master/uninstall )" चेतावनी: यह स्क्रिप्ट निकाल देगा: / Library / Caches / Homebrew /
BenJaminSila

3
एक शॉटगन दृष्टिकोण की तरह लेकिन यह फ़ाइल अनुमतियों को प्रबंधित करने की कोशिश करने की तुलना में अधिक आसानी से काम करता है ...
BenKarl

1
मेरे लिए काम किया 10.12 (सिएरा) में अपग्रेड किए गए सिस्टम पर, अनइंस्टॉल / रीइंस्टॉल करने के बाद मैं 'काढ़ा डॉक्टर' चलाने में सक्षम था और कुछ अनुमतियों के मुद्दों को ठीक करने के निर्देशों का पालन किया। अब ठीक काम कर रहा है
कोडस्पेन्ज

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

26

मेरे मामले में मुझे होमब्रे के निष्पादन योग्य उपयोग को हटाने की आवश्यकता थी :

sudo rm -f `which brew`

फिर होमब्रे को फिर से स्थापित करें :

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

2
यदि आप इसे काढ़ा
लगाने

क्या आपको यह मीज़ेज 2 डी कमांड की कोशिश में मिला (जो एक संकेत लगता है कि कुछ गलत हो गया है, हालांकि कोई त्रुटि नहीं है)? / Usr / स्थानीय की वर्तमान सामग्री बिन सेलर CODEOFCONDUCT.md CONTRIBUTING.md आदि फ्रेमवर्क git में लिबर लाइब्रेरी LICENSE.txt ऑप्ट Qt4.7 README.md शेयर SUPERORTERS.md var
.itignore

@PandaWood नहीं, मैंने नहीं किया। आपकी टिप्पणी में 'इस संदेश' का चित्रण करने वाले त्रुटि संदेश की सामग्री क्या है?
इनक गमूस

@deeperx "-" के बाद सब कुछ। अंत में, मुझे ब्रू को अनइंस्टॉल करना पड़ा और फिर से पुनः स्थापित करना
पड़ा

@ पांडा आप सही कॉमा का उपयोग करते हैं? क्या आप इसे सीधे यहां पेस्ट कर सकते हैं?
इनक गमूस

24

एल कैप्टन को अद्यतन करने के बाद, /usr/localहै root:wheelअधिकार।

उपयोग करने वाले उपयोगकर्ता के अधिकारों को वापस बदलें:

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

तथा:

brew doctor && brew update

इससे मुझे Homebrew को फिर से काम करने में मदद मिली।


2
यह काफी खतरनाक नहीं है?
FRAGA

/usr/localसुरक्षा कारणों से OS में अनुमतियाँ बदली गईं - इसलिए, क्योंकि आपने "पहले जैसा अधिकार लौटाया है" इसका मतलब यह नहीं है कि यह करना अच्छी बात है।
लीन जू

8

पहले मैंने निष्पादित किया:

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

फिर:

cd $(brew --prefix) && git fetch origin && git reset --hard origin/master

1
FYI करें, मेरा Homebrew इंस्टाल था /usr/local/Homebrew/इसलिए मुझे इसका इस्तेमाल करना पड़ा cd $(brew --prefix)/Homebrew
जोशुआ पिंटर

3

यह समस्या होमब्रे के नवीनतम संस्करण में तय की जानी चाहिए। इसे पुनः स्थापित करने का प्रयास करें, जो होमब्रे होम पेज पर वर्णित है ।


1

मेरे लिए यह महसूस होता है कि आपके पास पॉपेन के लिए हेडर फाइलें गायब हैं, जो कि सी सिस्टम लाइब्रेरी है।

चेक करें कि क्या आपने कमांड लाइन टूल के साथ xcode सफल स्थापित किया है और लाइसेंस स्वीकार कर लिया है।

अधिक जानकारी के लिए यह थ्रेड देखें: Xcode कमांड लाइन टूल्स को कैसे स्थापित करें


0

अपने Homebrew सेटअप को पुनर्स्थापित करने के लिए यह प्रयास करें:

cd /usr/local/Homebrew/Library && git stash && git clean -d -f && git reset --hard && git pull
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.