2016-01-20 10 views
30

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

/usr/local/Library/Homebrew/config.rb:34:in `initialize': no implicit conversion of nil into String (TypeError) 
    from /usr/local/Library/Homebrew/config.rb:34:in `new' 
    from /usr/local/Library/Homebrew/config.rb:34:in `<top (required)>' 
    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /usr/local/Library/Homebrew/global.rb:18:in `<top (required)>' 
    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /usr/local/Library/brew.rb:10:in `<main>' 

/usr/local की अनुमतियां सही हैं।

config.rb फ़ाइल है, जो मैं इस तरह दिखता नहीं बदला है:

def cache 
    if ENV["HOMEBREW_CACHE"] 
    Pathname.new(ENV["HOMEBREW_CACHE"]).expand_path 
    else 
    # we do this for historic reasons, however the cache *should* be the same 
    # directory whichever user is used and whatever instance of brew is executed 
    home_cache = Pathname.new("~/Library/Caches/Homebrew").expand_path 
    if home_cache.directory? && home_cache.writable_real? 
     home_cache 
    else 
     Pathname.new("/Library/Caches/Homebrew").extend Module.new { 
     def mkpath 
      unless exist? 
      super 
      chmod 0775 
      end 
     end 
     } 
    end 
    end 
end 

HOMEBREW_CACHE = cache 
undef cache 

# Where brews installed via URL are cached 
HOMEBREW_CACHE_FORMULA = HOMEBREW_CACHE+"Formula" 

unless defined? HOMEBREW_BREW_FILE 
    HOMEBREW_BREW_FILE = ENV["HOMEBREW_BREW_FILE"] || which("brew").to_s 
end 

# Where we link under 
HOMEBREW_PREFIX = Pathname.new(ENV["HOMEBREW_PREFIX"]) 

# Where .git is found 
HOMEBREW_REPOSITORY = Pathname.new(ENV["HOMEBREW_REPOSITORY"]) 

HOMEBREW_LIBRARY = Pathname.new(ENV["HOMEBREW_LIBRARY"]) 
HOMEBREW_CONTRIB = HOMEBREW_REPOSITORY/"Library/Contributions" 

# Where we store built products 
HOMEBREW_CELLAR = Pathname.new(ENV["HOMEBREW_CELLAR"]) 

HOMEBREW_LOGS = Pathname.new(ENV["HOMEBREW_LOGS"] || "~/Library/Logs/Homebrew/").expand_path 

HOMEBREW_TEMP = Pathname.new(ENV.fetch("HOMEBREW_TEMP", "/tmp")) 

unless defined? HOMEBREW_LIBRARY_PATH 
    HOMEBREW_LIBRARY_PATH = Pathname.new(__FILE__).realpath.parent.join("Homebrew") 
end 

HOMEBREW_LOAD_PATH = HOMEBREW_LIBRARY_PATH 

वही त्रुटि काढ़ा, काढ़ा चिकित्सक, काढ़ा अद्यतन आदि

कोई भी विचार, क्या कर सकता है के साथ होता है गलत हो?

+0

आप 'अधिक/usr/स्थानीय/Library/Homebrew/config.rb' के साथ अपने प्रश्न को संपादित कर सकते हैं? –

उत्तर

54

मुझे एक ही समस्या थी - एक ब्रूव अपडेट का नतीजा था जो अनुमति मुद्दों के कारण पूरा नहीं हो सका।

सबसे पहले मैं नवीनतम सिर करने के लिए रेपो रीसेट:

cd /usr/local/bin 
git reset --hard HEAD 

तो मैं चला सकते हैं:

brew doctor 

कौन सा अनुमतियाँ समस्या नहीं मिली। के रूप में प्रति निर्देश अंत में मुझे चलाने की अनुमति दी उन अनुमतियों फिक्सिंग:

brew update 
+2

शायद यह भी मेरे मुद्दे का कारण था। सोफोस के पिछले संस्करण में/usr/local/bin और/usr/local/share में अनुमतियों के साथ गड़बड़ हुई। बस सुडो चाउन -आर $ (व्हामी)/यूएसआर/स्थानीय/बिन और .../शेयर के साथ अनुमतियों को अपडेट करने से मेरी मदद नहीं हुई। – Arwed

+0

हाँ, मेरा मुद्दा सोफोस के साथ भी शुरू होता है। और यह कर रहा है: | – gollyg

+1

आपको सोफोस 9.4 की आवश्यकता है जो अभी भी पूर्वावलोकन स्थिति में है। – Arwed

2

मैंने जिथब पर मिले नए संस्करण के साथ स्क्रिप्ट/usr/local/bin/brew को प्रतिस्थापित किया। अब सब कुछ ठीक है।

नवीनतम फ़ाइल है, जो की, यहां पाया जा सकता है: https://github.com/Homebrew/homebrew/blob/master/bin/brew

0

एक छोटी सी गंदा लेकिन मैं सिर्फ स्थापना हटाई homebrew और पुनर्स्थापित। चेतावनी: यह सभी ब्रू स्थापित संकुल को अनइंस्टॉल करेगा।

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)" 
$ sudo chown -R $USER /usr/local/ 
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 
+1

वही है जो मुझे टालने के लिए जरूरी था। – Arwed

5

ओएस एक्स हर अद्यतन के साथ अनुमतियों को खराब करता।

इस प्रयास करें:

sudo chown -R $(whoami) /usr/local/share/man/man1 

और

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

और सुनिश्चित करें कि वर्तमान उपयोगकर्ता (एक चल रहा brew) /usr/local तक पहुँचने की अनुमति है।

+1

मेरे मामले में यह ओएसएक्स नहीं था लेकिन सोफोस ने अनुमतियों को गड़बड़ कर दिया था। संस्करण 9.4.1 के साथ उन्होंने उस बग को ठीक किया। – Arwed

+0

यह दिलचस्प है! मेरे पास सोहोप्स 9.2.9 है और यह समस्याएं पैदा नहीं कर रहा है। हालांकि मेरा होम संस्करण नहीं है। – Pouria

0

मैंने जिथब पर मिले नए संस्करण के साथ स्क्रिप्ट/usr/local/bin/brew को प्रतिस्थापित किया। अब सब कुछ ठीक है।

नवीनतम फ़ाइल है, जो की, यहां पाया जा सकता: https://github.com/Homebrew/homebrew/blob/master/bin/brew

संबंधित मुद्दे