2011-11-10 12 views
13

तो मैं एक विशाल चेतावनी के साथ हास्केल विकास के लिए एक लिनक्स मशीन स्थापित करना चाहता हूं - इस मशीन पर कोई रूट निजी नहीं है। आखिरकार, हम अंततः हमारे लिए जीएचसी स्थापित करने के लिए व्यवस्थापक प्राप्त कर सकते हैं। हालांकि, दीर्घकालिक में, जब हम अपग्रेड करना चाहते हैं तो हमें उन्हें परेशान करने की आवश्यकता होती है। आदि। उपयोगकर्तालैंड में सब कुछ करने के लिए बहुत बेहतर है। जिसका अर्थ यह भी है कि हम सब कुछ परेशानी मुक्त रखने के लिए उपयोगकर्ता लिंक्स में लिंक सी lib स्थापित करना चाहते हैं।रूट के बिना जीएचसी इंस्टॉल

तो सवाल यह है कि कैसे, सूप-टू-नट्स, क्या मैं जीएचसी का पूरी तरह से उपयोगकर्तालैंड स्थापित करने के बारे में जाऊंगा? मशीन में जीसीसी, और सामान्य टूलचेन होगा। यदि आवश्यक हो, तो हम रोल रोलिंग प्राप्त करने के लिए एक सामान्य ghc इंस्टॉल से शुरू कर सकते हैं, लेकिन यह अच्छा नहीं होगा।

इसके अतिरिक्त, इस तरह के पर्यावरण के प्रबंधन पर किसी भी सुझाव की सराहना की जाएगी, विशेष रूप से यह शामिल है कि इस तरह के सेटअप को एकाधिक देवताओं/खातों के साथ कैसे प्रबंधित किया जा सकता है।

उत्तर

4

आपको स्पष्ट रूप से एक निर्देशिका की आवश्यकता है कि सभी प्रासंगिक उपयोगकर्ताओं को कम से कम अनुमति पढ़ने की अनुमति है। उपनिर्देशिका बिन, lib, share, .cabal के साथ/home/foo कहें। फिर ./configure --prefix=/home/foo और & & इंस्टॉल करें, और सुनिश्चित करें कि/home/foo/* हर किसी के पथ, LIBRARY_PATH आदि में/usr/* से पहले है। आपको शायद gcc और c-libs इंस्टॉल करने के साथ शुरू करना चाहिए, और जब सबकुछ सी है स्थापित, ghc स्थापित करें।

+0

विशेष रूप से, आपको http://haskell.org/ghc/download_ghc_7_2_1#binaries से बाइनरी ghc वितरण स्थापित करने की आवश्यकता होगी, क्योंकि आपको बूटस्ट्रैप स्वयं-संकलन के लिए ghc की आवश्यकता है। –

6

मैंने यह भी किया। मैंने एक निर्देशिका ~/usr बनाई और स्क्रिप्ट को कॉन्फ़िगर करने के लिए --prefix=$HOME/usr पारित किया। हास्केल प्लेटफ़ॉर्म का उपयोग करके यह प्रक्रिया भी आसान हो जाती है।

1

मैं following these instructions द्वारा स्टैक के माध्यम से ghc स्थापित करने में कामयाब रहा। इसने एक जादू की तरह काम किया; मुझे केवल एक ही अतिरिक्त चीज़ थी जिसे the GMP library इंस्टॉल करना था और इसे LD_LIBRARY_PATH में जोड़ना था।

+0

क्या आप वाकई किसी बिंदु पर रूट अनुमतियों की आवश्यकता नहीं है? सब कुछ स्थापित करने के मानक तरीके, AFAIK। – leftaroundabout

+0

मेरे पास इस मशीन को स्थापित करने के लिए रूट अनुमतियां नहीं हैं, इसलिए हां, मुझे यकीन है :-) निर्देश जो मैं सिर्फ स्टैक के बाइनरी संस्करण को डाउनलोड करने के लिए जुड़ा हुआ हूं, और फिर स्टैक बस जीएचसी और जीएचसीआई डाउनलोड करता है और उन्हें अपने स्थान पर रखता है ~/.stack निर्देशिका। – Nicole

+0

@ बाएंअराउंडबाउट, लिंक किए गए निर्देश दिखते हैं जैसे वे उपयोगकर्ता-विशिष्ट निर्देशिका में स्टैक इंस्टॉल करते हैं। – dfeuer

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