2010-04-25 17 views
30

कैसे संकुल बनाई गई हैं के संबंध में, स्थापित और हास्केल में इस्तेमाल किया, ghc-pkg और cabal के बीच संबंध क्या है?ghc-pkg और cabal के बीच संबंध क्या है?

अपनी भूमिका क्या हैं - जब आप एक दूसरे के ऊपर, एक का प्रयोग करेंगे, या दोनों का उपयोग करें?

वे पूरक उपकरण, प्रतिस्पर्धी उपकरण, या बस उपकरण है कि अलग अलग काम करने हैं?

उत्तर

23

रेखांकन, निर्भरता हैं:

Packages GHC can use 
    | 
Are registered with "ghc-pkg register" 
    | 
And (almost always) built with Cabal 
    | 
With build dependencies resolved by cabal-install 
    | 
From Hackage. 
+0

यह तो सच है कि किसी भी GHC-pkg साथ registerable पैकेज कबाल के साथ बनाया गया होगा? –

+3

नहीं, यह सच नहीं है। बुरे पुराने दिनों में कोई कैबल नहीं था, और हमने अपने सभी पैकेजों को बनाने के साथ पंजीकृत किया। 'पंजीकरण करें' स्क्रिप्ट बढ़ा दी गई। 'ghc-pkg रजिस्टर' देखें –

8

ghc-pkg GHC के पैकेज डेटाबेस के लिए एक सीधा इंटरफेस है। Cabal एक ऐसा उपकरण है जो संकुल के लिए एक सतत वितरण संरचना प्रदान करता है और संकुल, संस्करण संख्याओं और निर्माण जानकारी के बीच निर्भरता जैसे मेटाडेटा निर्दिष्ट करने का एक तरीका प्रदान करता है।

एक पैकेज आप के लिए GHC (अन्य बातों के अलावा) के साथ यह रजिस्टर करेंगे स्थापित करने के लिए कबाल का उपयोग करना, लेकिन यह है कि, ओवरलैप की हद तक है वास्तव में।

ध्यान दें कि GHC-pkg भी इस तरह के इंस्टॉल किए गए पैकेज छुपा के रूप में, (के रूप में तक मुझे पता है) कबाल नहीं है कि सुविधा प्रदान करता है।

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