Homebrew का उपयोग करके स्थापित सभी पैकेजों की सूची


447

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

जवाबों:


563

brew list तथा brew cask list

रनिंग brew listआपके सभी स्थापित होमब्रेव पैकेजों की एक सूची दिखाएगी।

इसके अलावा, Homebrew पीपाbrew cask list का उपयोग करके स्थापित आइटम प्रदान करेगा ।

काढ़ा सूची


2
यदि आपके पास यह सूची एक txt फ़ाइल में थी। आप उन सभी को कैसे स्थापित करेंगे? brew install < list.txtकाम करने के लिए प्रतीत नहीं होता है।
योनातन

26
@ जोनाथन xargs brew install < list.txtअधिक विवरण या स्पष्टीकरण के लिए एक अलग प्रश्न पूछने के लिए स्वतंत्र महसूस करें।
GRG

3
@grgarside - उर टर्मिनल प्रॉम्प्ट से प्यार करते हैं। क्या आप मेरी कॉन्फिडेंस फाइल साझा करने के लिए तैयार होंगे, ताकि मेरा लुक उस तरह दिख सके?
कौशिक गोपाल

2
@ कौशिक मैंने आखिरकार अपने टर्मिनल / शेल सेटअप के बारे में एक ब्लॉग पोस्ट लिखी है - वहां कोई भी प्रश्न पूछने के लिए स्वतंत्र।
GRG

1
@ brew install $(< list.txt )
जोनाथन

278

brew leavesआपको सभी शीर्ष-स्तरीय पैकेज दिखाता है। वह पैकेज है जो निर्भरता नहीं है। यह सबसे दिलचस्प होना चाहिए यदि आप संकुल को पुनः स्थापित करने के लिए सूची का उपयोग कर रहे हैं।


3
अच्छा जवाब। क्या आप जानते हैं कि उपयोगकर्ता द्वारा स्थापित पैकेजों की एक सूची कैसे प्राप्त करें? यह अलग हो सकता है leaves
स्टीवन शो

हाँ, उदाहरण के javaलिए सूचीबद्ध नहीं है leavesक्योंकि यह एक परियोजना के लिए निर्भरता है, भले ही मैंने इसे स्वयं स्थापित किया हो।
साद मलिक

61

brew bundleयदि आप पूछ रहे हैं तो यह दिलचस्प हो सकता है क्योंकि आप अपने काढ़ा स्थापना का प्रबंधन करना चाहते हैं। इसमें पीपे शामिल हैं, जो brew listनहीं करता है। यह प्रतिलिपि प्रस्तुत करने योग्य Homebrew सेटअप होने के उद्देश्य से है।

# creates Brewfile in the current directory from currently-installed packages
brew bundle dump
# edit Brewfile
# install everything from the Brewfile
brew bundle

आप --globalध्वज का उपयोग अपने पर काम करने के लिए कर सकते हैं ~/Brewfileऔर -fअपनी मौजूदा फ़ाइल को ओवरराइट करने के लिए बाध्य कर सकते हैं (स्थापना के लिए, यह सूचीबद्ध नहीं किए गए पैकेजों की स्थापना रद्द कर देगा)।


यह उत्कृष्ट है! मुझे पता नहीं था कि यह अस्तित्व में है। धन्यवाद। मैं केवल यह चाहता हूं कि यह brew leavesआपके द्वारा सीधे स्थापित नहीं किए गए पैकेजों की तरह ही छोड़ा गया, लेकिन केवल निर्भरता के रूप में मिला। भविष्य में एक पैकेज निर्भरता बदल सकता है, लेकिन आप इसे वैसे भी स्थापित करेंगे और इसकी आवश्यकता नहीं होगी।
ब्रूनो ब्रोंस्की

हाँ। ऐसा लगता है कि प्रत्येक पैकेज प्रबंधक दोनों को अलग न करने के इस चरण से गुजरता है।
सैम ब्राइटमैन

1
मेरा एक हालिया डंप बताता है कि bundleअब निर्भरता को छोड़ देता है। कुछ अन्य बदलाव जैसे बोली शैली और आदेश हैं जो इस अंतर को समझना कठिन बना रहे हैं, लेकिन कुल मिलाकर ऐसा लगता है कि कम से कम कुछ पुस्तकालय गायब हैं Brewfileलेकिन स्थापित हैं।
सैम ब्राइटमैन

20

निष्पादन brew listकमांड सभी स्थापित पैकेजों की एक सरल, वर्णानुक्रम में क्रमबद्ध सूची दिखाती है।

हालांकि, होमब्रे का उपयोग करके पैकेज स्थापित करते समय विभिन्न आवश्यक पैकेज (निर्भरता) स्वचालित रूप से स्थापित हो जाते हैं। सभी स्थापित पैकेजों की सूची को एक अच्छी तरह से स्वरूपित निर्भरता के पेड़ के रूप में देखना संभव है। इसे देखने के लिए, निम्न कमांड निष्पादित करें:

brew deps --tree --installed

एक उदाहरण आउटपुट नीचे दिखाया गया है:

gdbm

openssl

python
├── gdbm
├── openssl
├── readline
├── sqlite
│   └── readline
└── xz

readline

sqlite
└── readline

xz

स्वतंत्र रूप से सूचीबद्ध पैकेज (उदाहरण के लिए gdbmऔर opensslऊपर के आउटपुट में) की कोई निर्भरता नहीं है। एक पेड़ की संरचना के हिस्से के रूप में दर्शाए गए पैकेजों में उनकी निर्भरता तत्काल निचले स्तर पर सूचीबद्ध होती है (उदाहरण के लिए पैकेज की sqliteआवश्यकता होती है कि पैकेज readlineस्थापित किया जाए)। ट्री संरचनाओं में लीफ नोड्स में सूचीबद्ध पैकेजों पर कोई निर्भरता नहीं है।

एक पेड़ की संरचना में कल्पना की गई निर्भरताएं आसानी से अनावश्यक पैकेजों से छुटकारा पाने में मदद कर सकती हैं।


1
brew leavesआदेश ऊपर उल्लेख किया है इस संबंध में उपयोगी है; यह केवल शीर्ष स्तर के संकुल को सूचीबद्ध करता है।
पॉल बिसेक्स

6

आप brew list | grep 'package-name'विशिष्ट पैकेज की तलाश कर रहे हैं या उपयोग कर सकते हैं ।
brew list 'package-name'भी काम करता है और अतिरिक्त जानकारी प्रदान करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.