मैं Homebrew के साथ एक सूत्र कैसे अपडेट करूं?


164

मैं एक सूत्र कैसे अपडेट करूं?

मैं भागा brew update। फिर, चल रहा है brew outdated, आउटपुट:

mongodb (1.4.3-x86_64 < 1.6.5-x86_64)

इस प्रकार, mongodbपुराना है।

मैं इसे कैसे अपग्रेड करूं? क्या मैं अभी स्थापना रद्द करता हूं और फिर स्थापित करता हूं?

जवाबों:


242

मुझे लगता है कि करने का सही तरीका है

काढ़ा उन्नयन mongodb

यह मोंगॉडब फॉर्मूले को अपग्रेड करेगा। यदि आप सभी पुराने फ़ॉर्मूला को अपग्रेड करना चाहते हैं, तो बस

काढ़ा अपग्रेड


यह वास्तव में अब सही तरीका है । यदि एपेंड का उपयोग करते हैं तो पुराने तरीके अभी भी काम करेंगे --force
mxcl

जब मैं "काढ़ा उन्नयन <packagename>" चलाता हूं, तो यह वास्तव में सभी पुराने पैकेजों को अपग्रेड करता है, सेकंड के बजाय घंटे लगते हैं। यह बहुत ही खराब डिजाइन है। "जस्ट अपग्रेड वन सिंगल पैकेज" का सही तरीका है "काढ़ा स्थापित करें <packagename>", जो फिर से एक भ्रमित डिजाइन है।
xuancong84

58

आप सभी पुराने पैकेजों को अपडेट कर सकते हैं जैसे:

brew install `brew outdated`

या

brew outdated | xargs brew install

या

brew upgrade

यह काढ़ा स्थल से है ।।

व्यक्तिगत सूत्र के उन्नयन के लिए:

brew install formula-name && brew cleanup formula-name

सफाई क्या करती है?
साइटें

3
मुझे लगता है कि अब बस टाइप कर सकते हैं brew upgrade outdatedऔर सभी जटिल बकवास छोड़ सकते हैं ।
वॉरेन पी

4
या बसbrew upgrade
चार्लीमेज़क

20

आपको सबसे पहले स्थानीय फ़ार्मुलों को अपडेट करके अपडेट करना होगा

brew update

और फिर पैकेज को अपग्रेड करके

brew upgrade formula-name

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

brew update && brew upgrade mongodb && brew cleanup mongodb

11

खैर, मैंने अभी किया

brew install mongodb

और निर्देशों का पालन किया जो STDOUTइसे स्थापित करने के बाद आउटपुट थे , और लगता है कि बस ठीक काम किया है। मुझे लगता है कि यह थोड़े पहले की तरह काम करता है make installऔर ओवरराइट (अपग्रेड) करता है।


9
ब्रू मोंगोडब में स्थापित करता है $HOMEBREW_PREFIX/Cellar/mongodb/<version>/, इसलिए आपको सबसे अधिक संभावना है कि दोनों संस्करण स्थापित हैं। यह तब नवीनतम संस्करण में सहानुभूति रखता है $HOMEBREW_PREFIX/bin, आदि चल रहा brew cleanup mongodbहै पुराने संस्करण को हटा देगा।
मियादी

2

आप एक स्थापित सूत्र को अपग्रेड करने के लिए काढ़ा का उपयोग नहीं कर सकते। यदि आप सभी पुराने फ़ार्मुलों को अपग्रेड करना चाहते हैं, तो आप नीचे दिए गए कमांड का उपयोग कर सकते हैं।

brew outdated | xargs brew upgrade

आप अन्य एसओ उपयोगकर्ताओं के लिए सहायक होने के लिए अपने समाधान को बेहतर ढंग से समझाते हैं। सिर्फ कोड को पोस्ट करना यहां सबसे अच्छा अभ्यास नहीं है।
मैसिमिलियानो क्रूस

0

मैं सभी होमब्रेव फॉर्मूले और होमब्रेव पीपा फॉर्मूलों को अपग्रेड करना पसंद करता हूं ।

मैंने इस एक के लिए अपने वातावरण में बॉर्न शेल फ़ंक्शन जोड़ा (मैं एक .bashrc लोड करता हूं)

function updatebrew() {
set -x;
brew update;
brew cleanup;
brew cask upgrade --greedy
)
}
  • set -x पारदर्शिता के लिए: ताकि टर्मिनल होमब्रॉव पृष्ठभूमि में जो कुछ भी कर रहा है उसका आउटपुट दे।
  • brew update होमबॉर्न फ़ार्मुलों को अपडेट करने के लिए
  • brew cleanup स्थापना के बाद बचे किसी भी परिवर्तन को हटाने के लिए
  • brew cask upgrade --greedyसभी पीपों को स्थापित करेगा; दोनों जानकारी के साथ और बिना उन लोगों के साथ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.