homebrew - ब्रू अपडेट विफल: अनचाहे काम करने वाली पेड़ फ़ाइलों को विलय करके अधिलेखित किया जाएगा




(8)

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

error: The following untracked working tree files would be overwrittenby merge:     
 Library/Formula/argp-standalone.rb
 Library/Formula/cocot.rb 
Please move or remove them before you can merge. 
Aborting 
Updating e088818..5909e2c 
Error: Failed while executing git pull  origin refs/heads/master:refs/remotes/origin/master

मुझे किसी ऐसे व्यक्ति द्वारा ब्लॉग पोस्ट मिला जिसने माउंटेन शेर स्थापित करने के बाद भी इसी तरह की समस्या का अनुभव किया (जिसे मैंने इस सप्ताह भी किया था)। वह बताता है कि उन्होंने त्रुटि संदेश में निर्दिष्ट फ़ाइलों को कैसे हटा दिया

I removed these files:
$ cd $(brew --prefix)
$ rm cocot.rb
However, removing these files didn't help with the brew update. Instead I had to manually update brew through git:
$ cd $(brew --prefix)
$ git fetch origin
$ git reset --hard origin/master
$ brew update
Already up-to-date.

मानते हैं कि उन निर्देश सही हैं (जो मुझे शायद नहीं मानना ​​चाहिए), मैंने इन निर्देशों का पालन करने और करने का प्रयास किया

    $ cd $(brew --prefix)
    $ rm cocot.rb

हालांकि, यह कहा गया कि जब मैं rm cocot.rb करने की कोशिश की तो 'फ़ाइल मौजूद नहीं है'

एक बात जो मुझे यकीन नहीं है वह cd $(brew --prefix) क्या वे सटीक शब्द हैं जिन्हें मैं टाइप करता हूं या करता हूं, मुझे कुछ के साथ उपसर्ग को प्रतिस्थापित करना है? सीडी सफल था, इसलिए मुझे लगता है कि यह सही था - यह मुझे / usr / local में ले जाया गया, लेकिन निकालने के लिए कोई फ़ाइल नहीं थी। / Usr / स्थानीय की सामग्री हैं

Cellar              clamXav             git             mysql               var Library             doc             heroku              mysql-5.5.15-osx10.6-x86_64 README.md           etc             include             rvm bin             foreman             lib             share

किसी भी दर पर, क्या आप जानते हैं कि मैं 'ब्रू अपडेट' कैसे ठीक कर सकता हूं

अद्यतन: फेवरेटी के निर्देशों के अनुसार फ़ाइलों को हटाने और chown -R <your_username> $(brew --prefix)/.git अनुसार फ़ाइलों को हटाने के बाद, मुझे निम्न त्रुटि brew update चल रही है

error: The following untracked working tree files would be overwritten by merge:
    Library/Aliases/gperftools
    Library/Aliases/hashdeep
    Library/Aliases/htop
    Library/Aliases/nodejs
    Library/Aliases/ocio
    Library/Aliases/oiio
    Library/Aliases/pgrep
    Library/Aliases/pkill
    Library/Aliases/qt4
    Library/Aliases/twolame
    Library/Aliases/wxwidgets
    Library/Contributions/cmds/brew-aspell-dictionaries
    Library/Contributions/cmds/brew-beer.rb
    Library/Contributions/cmds/brew-dirty.rb
    Library/Contributions/cmds/brew-graph
    Library/Contributions/cmds/brew-grep
    Library/Contributions/cmds/brew-leaves.rb
    Library/Contributions/cmds/brew-linkapps.rb
    Library/Contributions/cmds/brew-ls-taps.rb
    Library/Contributions/cmds/brew-man
    Library/Contributions/cmds/brew-md5-to-sha1
    Library/Contributions/cmds/brew-mirror-check.rb
    Library/Contributions/cmds/brew-pull.rb
    Library/Contributions/cmds/brew-readall.rb
    Library/Contributions/cmds/brew-server
    Library/Contributions/cmds/brew-services.rb
    Library/Contributions/cmds/brew-switch.rb
    Library/Contributions/cmds/brew-test-bot.rb
    Library/Contributions/cmds/brew-tests.rb
    Library/Contributions/cmds/brew-unpack.rb
    Library/Contributions/cmds/brew-which.rb
    Library/Contributions/cmds/git
    Library/Contributions/cmds/svn
    Library/ENV/4.3/apr-1-config
    Library/ENV/4.3/bsdmake
    Library/ENV/4.3/c++
    Library/ENV/4.3/c89
    Library/ENV/4.3/c99
    Library/ENV/4.3/cc
    Library/ENV/4.3/clang
    Library/ENV/4.3/clang++
    Library/ENV/4.3/cpp
    Library/ENV/4.3/g++
    Library/ENV/4.3/gcc
    Library/ENV/4.3/git
    Library/ENV/4.3/i686-apple-darwin11-llvm-g++-4.2
    Library/ENV/4.3/i686-apple-darwin11-llvm-gcc-4.2
    Library/ENV/4.3/ld
    Library/ENV/4.3/llvm-g++
    Library/ENV/4.3/llvm-g++-4.2
    Library/ENV/4.3/llvm-gcc
    Library/ENV/4.3/llvm-gcc-4.2
    Library/ENV/4.3/make
    Library/ENV/4.3/mig
    Library/ENV/4.3/sed
    Library/ENV/4.3/svn
    Library/ENV/4.3/xcrun
    Library/ENV/libsuperenv.rb
    Library/ENV/pkgconfig/leopard/libcrypto.pc
    Library/ENV/pkgconfig/leopard/libcurl.pc
    Library/ENV/pkgconfig/mountain_lion/libcurl.pc
    Library/ENV/pkgconfig/mountain_lion/libexslt.pc
    Library/ENV/pkgconfig/mountain_lion/libxml-2.0.pc
    Library/ENV/pkgconfig/mountain_lion/libxslt.pc
    Library/Formula/abcl.rb
    Library/Formula/abcmidi.rb
    Library/Formula/aiccu.rb
    Library/Formula/akka.rb
    Library/Formula/alac.rb
    Library/Formula/alure.rb
    Library/Formula/appledoc.rb
    Library/Formula/arangodb.rb
    Library/Formula/argp-standalone.rb
    Library/Formula/argtable.rb
    Library/Formula/autopano-sift-c.rb
    Library/Formula/avian.rb
    Library/Formula/avidemux.rb
    Library/Formula/avro-cpp.rb
    Library/Formula/aws-cloudsearch.rb
    Library/Formula/aws-sns-cli.rb
    Library/Formula/backupninja.rb
    Library/Formula/bact.rb
    Library/Formula/bam.rb
    Library/Formula/basex.rb
    Library/Formula/berkeley-db4.rb
    Library/Formula/bind.rb
    Library/Formula/blazeblogger.rb
    Library/Formula/bochs.rb
    Library/Formula/boost149.rb
    Library/Formula/bsdconv.rb
    Library/Formula/bsdmake.rb
    Library/Formula/buildapp.rb
    Library/Formula/bup.rb
    Library/Formula/byacc.rb
    Library/Formula/cadubi.rb
    Library/Formula/camellia.rb
    Library/Formula/casperjs.rb
    Library/Formula/ccextractor.rb
    Library/Formula/cconv.rb
    Library/Formula/cdo.rb
    Library/Formula/cdpr.rb
    Library/Formula/cgvg.rb
    Library/Formula/checkstyle.rb
    Library/Formula/chordii.rb
    Library/Formula/chruby.rb
    Library/Formula/cifer.rb
    Library/Formula/clhep.rb
    Library/Formula/cntlm.rb
    Library/Formula/cocot.rb
    Library/Formula/cogl.rb
    Library/Formula/collada-dom.rb
    Library/Formula/crash.rb
    Library/Formula/crossroads.rb
    Library/Formula/crosstool-ng.rb
    Library/Formula/css-crush.rb
    Library/Formula/csync.rb
    Library/Formula/ctemplate.rb
    Library/Formula/curlftpfs.rb
    Library/Formula/cutter.rb
    Library/Formula/cvsutils.rb
    Library/Formula/darkstat.rb
    Library/Formula/darner.rb
    Library/Formula/dart.rb
    Library/Formula/dasm.rb
    Library/Formula/debianutils.rb
    Library/Formula/dfc.rb
    Library/Formula/dgtal.rb
    Library/Formula/dhcping.rb
    Library/Formula/di.rb
    Library/Formula/dmtx-utils.rb
    Library/Formula/drip.rb
    Library/Formula/dsniff.rb
    Library/Fo
Aborting
Updating e088818..c1fbc29
Error: Failed while executing git pull  origin refs/heads/master:refs/remotes/origin/master

आपको निम्न कार्य करने की आवश्यकता है:

cd $(brew --prefix)
rm Library/Formula/argp-standalone.rb
rm Library/Formula/cocot.rb

और फिर करो

git fetch origin
git reset --hard origin/master
brew update

असल में, कुछ और समझाने के लिए:

cd $(brew --prefix)

निर्देशिका को बदलने के लिए cd को बताता है कि जो भी brew --prefix आउटपुट होगा। यदि आप brew --prefix कमांड को निष्पादित करने का प्रयास करते हैं तो आपको कुछ पंक्तियों में देखना चाहिए:

brew --prefix
/usr/local

तो आदेश इस मामले में cd /usr/local बराबर होगा। नए brew संस्करणों में इसके इंस्टॉलेशन उपसर्ग और Library/Formula/ तहत Library/Formula/ , इसलिए वह पुरानी / बदली गई फ़ाइलों को देखने की आवश्यकता है।

ध्यान दें, कि अगर आपने किसी विशेष कारण के लिए उन सूत्रों को स्वयं बदल दिया है (जैसे संस्करण को पिन करना) यह क्रिया उन्हें वापस डिफ़ॉल्ट रूप से वापस कर देगी और अवांछित प्रभाव उत्पन्न कर सकती है।

@ टेडपेनिंग्स ने टिप्पणियों में उल्लेख किया कि यह उनके लिए काम करता है, लेकिन उनका अनुक्रम था:

  1. my_username:admin सब कुछ my_username:admin , यानी, my_username:admin sudo chown -R ted:admin $(brew --prefix)
  2. उपरोक्त दो गिट कमांड चलाएं, git fetch origin और git reset --hard origin/master

एक और विकल्प सिर्फ git stash उपयोग करना है।

ब्रू अपडेट कमांड एक git pull करता है, इसलिए यदि कोई बदली गई फाइलें हैं (या यहां तक ​​कि फाइल विशेषताएँ, जो मेरे साथ हुईं जब मैंने निर्देशिका में अनुमतियों को बार-बार बदल दिया) तो आपको किसी भी तरह से संघर्षों को ठीक करना होगा। git stash का उपयोग करना एक तरीका है; इसमें कोई भी बदलाव होता है और उन्हें एक तरफ रखता है ताकि आप प्रभावी रूप से अंतिम अपडेट किए गए रेपो संस्करण पर वापस आएं। होमब्रू 'स्थान' डिफ़ॉल्ट /usr/local और यह एक गिट भंडार के रूप में स्थापित करता है। आप अपने लिए देखने के लिए एक .git फ़ोल्डर की तलाश कर सकते हैं। मैं जल्द ही अधिक जानकारी के साथ अपने गिटहब प्रोफाइल पर पोस्ट करने के लिए होमब्री अनइंस्टॉल स्क्रिप्ट लिख रहा हूं।


ब्रू रिपोजिटरी को रीसेट करना सबसे प्रभावी तरीका होना चाहिए यदि आप उन सूत्रों पर संभावित संशोधनों को त्यागना नहीं चाहते हैं जिन्हें आप लागू कर सकते हैं:

$ cd `brew --prefix`
$ git fetch origin
$ git reset --hard origin/master
$ brew cleanup --force
$ brew update

मेरे पास एक समान समस्या थी जहां मेरी ब्रू पैकेज लाइब्रेरी रूट उपयोगकर्ता के रूप में डाउनलोड की गई थी और फिर मैं ब्रू अपडेट को चलाने में सक्षम नहीं था क्योंकि गिट फाइल को मर्ज करने में सक्षम नहीं होने के बारे में शिकायत करेगा।

समाधान करना था: -

sudo chown -R <user> /usr/local/Library

यह update कोड में पुरानी बग के कारण होता है जिसे लंबे समय से तय किया गया है। हालांकि, बग की प्रकृति की आवश्यकता है कि आप निम्न कार्य करें:

cd $(brew --repository)
git reset --hard FETCH_HEAD

यदि brew doctor अभी भी असामान्य संशोधनों के बारे में शिकायत करता है, तो यह आदेश भी चलाएं:

cd $(brew --repository)    
git clean -fd

यह काम करना चाहिए।

1. cd `brew --prefix`
2. git fetch origin
3. git reset --hard origin/master
4. sudo brew update

$ cd $(brew --prefix)
$ git clean -fd
$ git reset --hard
$ sudo chown -R `whoami` `brew --prefix`
$ brew update

नोट: चरण 2 और 3 मेरे लिए काम किया क्योंकि मैंने त्रुटि प्राप्त करने से पहले 4 से पहले चरण 5 किया था। फ़ोल्डर के मालिक को बदलने से पहले ब्रू अपडेट पूरी समस्या का कारण बन गया।


cd $(brew --prefix)
git reset --hard HEAD
brew update




homebrew