2015-11-25 7 views
8

एक सोचना चाहिए कि यह एक सामान्य प्रश्न है, लेकिन मैं इस सरल प्रश्न का उत्तर खोजने के लिए नहीं कर पाए हैं:मेरे पास कौन सा पैकेज संस्करण है?

एक निश्चित पैकेज का कौन सा संस्करण मैं अपने GHC स्थापना में क्या है?

पृष्ठभूमि

मैं हास्केल जानने की कोशिश कर रहा हूँ, और ऐसा करने के लिए, मैं Real World Haskell के माध्यम से अपने रास्ते बना रहा हूं। अब मैं chapter 11 पर पहुंच गया हूं, जो अन्य विषयों के साथ, क्विक चेक पेश करता है।

दुर्भाग्यवश, 200 9 में पुस्तक प्रकाशित होने के बाद से क्विक चेक बदल गया है, और ऐसा लगता है कि इसमें विभिन्न संशोधन हुए हैं। जब भी मैं चीजों को करने का एक नया तरीका खोजता हूं, पुस्तक में निर्देशों के विकल्प के रूप में, नए तरीके कभी-कभी काम नहीं करते हैं। शायद 2012 में 'नया रास्ता' वर्णित किया गया था, लेकिन फिर क्विक चेक तब और फिर के बीच फिर से बदल गया।

आखिरकार, मुझे यह समझना होगा कि दस्तावेज़ या स्रोत कोड से क्विक चेक का उपयोग कैसे करें, लेकिन यह जानना बेहद उपयोगी होगा कि मुझे किस संस्करण की जांच करनी चाहिए।

मैं अभी तक उस बिंदु तक नहीं पहुंचा हूं जहां मैंने कैबल और इस तरह के बारे में सीखा है, इसलिए मेरा प्रश्न बेहद अज्ञानता में आधारित है। उम्मीद है कि एक आसान जवाब है।

मैं विंडोज़ पर जीएचसी का उपयोग करता हूं, और जाहिर है, क्विक चेक पहले ही मेरी स्थापना में बंडल हो चुका है। मेरे पास पहले से क्विक चेक है, लेकिन मुझे नहीं पता कि कौन सा संस्करण है।

+0

इससे मदद मिल सकती है: http://stackoverflow.com/questions/2892586/how-can-my-haskell-program-or-library-find-its-version- संख्या –

+3

\ * sigh \ *, एक और [सूची] (http://stackoverflow.com/a/23733494/1139697)। – Zeta

+2

@ shree.pat18 यह लाइब्रेरी के लिए उपयोगी प्रतीत नहीं होता है जो पहले से स्थापित है (और जो, अधिकांश पुस्तकालयों की तरह, अपने 'पथ_ * 'मॉड्यूल का खुलासा नहीं करता है)। –

उत्तर

6

का उपयोग करना cabal info

आप cabal info <packagename> उपयोग कर सकते हैं पैकेज के बारे में जानकारी प्राप्त करने के लिए वर्तमान में स्थापित संस्करण सहित,:

 
$ cabal info QuickCheck 
* QuickCheck  (library) 
    Synopsis:  Automatic testing of Haskell programs 
    Versions available: 1.1.0.0, 1.2.0.0, 1.2.0.1, 2.6, 2.7.4, 2.7.5, 2.7.6, 
         2.8, 2.8.1 (and 24 others) 
    Versions installed: 2.8.1 
    Homepage:  https://github.com/nick8325/quickcheck 
    Bug reports: mailto:[email protected] 
    Description: QuickCheck is a library for random testing of program 
        properties. 

        The programmer provides a specification of the program, in 
        the form of properties which functions should satisfy, and 
        ... 

तो तुम सब करने के लिए grep "स्थापित संस्करण" है:

$ cabal info QuickCheck | grep "Versions installed" 
Versions installed: 2.8.1 

विंडोज़ पर, आप findstr:

का उपयोग कर सकते हैं
$ cabal info QuickCheck | findstr /C:"Versions installed" 
Versions installed: 2.8.1 

टिप्पणी: यदि आपके पास <packagename> स्थापित नहीं है लेकिन अभी भी इसके बारे में कुछ जानकारी जानना है, तो आपको पहले cabal update की आवश्यकता हो सकती है।

ghc-pkg

का उपयोग करके आप cabal स्थापित नहीं है, तो आप अभी भी GHC के पैकेज मैनेजर, ghc-pkg उपयोग कर सकते हैं:

$ ghc-pkg list QuickCheck 
C:\Program Files\MinGHC-7.8.4\ghc-7.8.4\lib\package.conf.d: 
    QuickCheck-2.8.1 

हालांकि, ध्यान दें कि ghc-pkg कबाल सैंडबॉक्स स्वीकार नहीं करेंगे:

$ cabal sandbox init 
$ cabal install QuickCheck 
$ ghc-pkg list QuickCheck 
C:\Program Files\MinGHC-7.8.4\ghc-7.8.4\lib\package.conf.d: 
    (no packages) 

इस मामले में, आपको ghc-pkg -f .\.cabal-sandbox\<platform>-packages.conf.d याका उपयोग करने की आवश्यकता है:

$ ghc-pkg -f .\.cabal-sandbox\x86_64-windows-ghc-7.8.4-packages.conf.d list QuickCheck 
.\.cabal-sandbox\x86_64-windows-ghc-7.8.4-packages.conf.d: 
    QuickCheck-2.8.1 

$ cabal exec -- ghc-pkg list QuickCheck 
.\.cabal-sandbox\x86_64-windows-ghc-7.8.4-packages.conf.d: 
    QuickCheck-2.8.1 

हालांकि, बाद से आप पहले से ही cabal उपयोग कर रहे हैं, तो आप बस cabal info उपयोग कर सकते हैं।

+2

या, यदि आप 'कैबल' (और 'ghc' का उपयोग कर रहे हैं) के माध्यम से नहीं जाना चाहते हैं, तो आप' ghc-pkg सूची QuickCheck 'कर सकते हैं, जो डिफ़ॉल्ट रूप से स्थापित संकुल के लिए संस्करण संख्या दिखाएगा। –

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