2011-11-17 22 views
5

मैं पुरानी डेबियन रेपो या हास्केल-प्लेटफ़ॉर्म का उपयोग किए बिना, उबंटू 11.04 पर, स्क्रैच से हास्केल सेट अप करने का प्रयास कर रहा हूं।कैबल या कैबल-इंस्टॉलेशन के बिना आप संकुल/पुस्तकालय कैसे स्थापित करते हैं?

मैंने GHC-7.0.4 को बिना किसी समस्या के स्रोत से स्थापित किया है, और अब Cabal स्थापित करने की आवश्यकता है (जो पहले से ही /Hrr /lcal/lc/ghc-7.0.4/Cabal-1.10.2.0 में जीएचसी में शामिल होना प्रतीत होता है) और Cabal Install

बाद कई निर्भरता (parsec और network), जिनमें से प्रत्येक अपने स्वयं के (mtl, text, आदि) के कई निर्भरता है निर्दिष्ट करता है।

इन पैकेजों को स्थापित करने का आदेश क्या है, जिसे मैंने tar.gz रूप में हैकेज से हटा दिया है? अनपैक करें, फिर रनहास्केल काम नहीं करता है। मैं Setup.lhs देखता हूं, लेकिन यह स्पष्ट नहीं है कि इसका क्या उपयोग है या इसका उपयोग कैसे किया जाए।

मुझे लगता है कि अधिकांश हास्केल दस्तावेज़ों में से एक है कि आपने रेपो या हास्केल-पैकेज से स्थापित किया है और वास्तव में यह अच्छी तरह से व्याख्या नहीं करता है।

धन्यवाद!

उत्तर

11

cabal-install में एक शेल स्क्रिप्ट है जो यह करती है। यदि आप download it from hackage और इसे इंस्टॉल करते हैं, तो आप cabal-install इंस्टॉल करने के लिए bootstrap.sh प्रारंभ कर सकते हैं। फिर आप इसे अन्य पैकेज स्थापित करने के लिए उपयोग कर सकते हैं।

+1

धन्यवाद, मुझे इसके बारे में पता था लेकिन यह आरडब्लूएच से लग रहा था कि आपको पहले से स्थापित और नेटवर्क स्थापित करना चाहिए (http://book.realworldhaskell.org/read/installing-ghc-and-haskell-libraries.html), और से डॉक्स HTTP पहली बार स्थापित करने से पहले आप bootstrap.sh चला सकते हैं। अब मैं bootstrap.sh यह सब तुम्हारे लिए करता है। मुझे यह 3 बजे ऐसा करने के लिए मिलता है। – Kurtosis

5

दो अलग-अलग पैकेज हैं: Cabal और cabal-install। कैबल एक पुस्तकालय है, और कैबल-इंस्टॉल एक निष्पादन योग्य है जिसका नाम cabal है।

पैकेज स्थापित करने के लिए, cabal-install कैबल के आस-पास एक वैकल्पिक सुविधा रैपर है, लेकिन कैबल की आवश्यकता है।

http://hackage.haskell.org/trac/ghc/wiki/Commentary/Libraries के अनुसार, कैबल एक 'शून्य-बूट' पैकेज है, इसलिए जब आप जीएचसी, कैबल और इसकी निर्भरताएं स्वचालित रूप से आपके लिए बनाए जाते हैं।

आप उपयोग कर सकते हैं ghc-pkg जो संकुल पहले से ही स्थापित कर रहे हैं की जाँच करने के लिए निष्पादन योग्य:

# ghc-pkg list 

चेक अगर कबाल सूची में है के बाद आप GHC निर्माण। हां, तो आप बिना अधिक पैकेज इंस्टॉल कर सकते हैं इस दस्तावेज़ का उपयोग कर कबाल से स्थापित:

http://haskell.org/haskellwiki/Cabal/How_to_install_a_Cabal_package

मैं तुम्हें cabal-install पहले स्थापित करने के लिए सुझाव है, और फिर सब कुछ किसी और cabal-install निष्पादन का उपयोग कर स्थापित करें।

# runhaskell Setup configure 
# runhaskell Setup build 
# sudo runhaskell Setup install 

एक पैकेज टारबॉल अनपैक और Setup.hs या Setup.lhs फाइलों के साथ फ़ोल्डर में कमांड चलाने: वैश्विक स्थापना के लिए एक सामान्य commandine यह है। ध्यान दें कि प्रति उपयोगकर्ता गैर रूट स्थापना भी समर्थित है - runhaskell Setup configure --user

जब आप कैबल निष्पादन योग्य और इसकी निर्भरताओं को इस तरह स्थापित करते हैं, तो अधिक पैकेज स्थापित करने के लिए cabal install {package-name} का उपयोग करें।

ध्यान दें कि हास्केल प्लेटफ़ॉर्म ज्यादातर आपके द्वारा cabal-install इंस्टॉल करने के दर्द के कारण मौजूद है।

+0

धन्यवाद, मुझे लगता है कि मैं रनहास्केल सेटअप गलत तरीके से उपयोग कर रहा था।3am पर सभी सिलेंडरों पर गोलीबारी नहीं। बहुत सराहना की! – Kurtosis