2011-12-09 14 views
5

के बिना सामान्य लिस्प के लिए नए पैकेज को कैसे इंस्टॉल करें मैं क्लाउड के लिए नया हूं, और मैंने सिर्फ asdf-install का उपयोग करके पैकेज इंस्टॉल करना सीखा है, लेकिन मुझे नहीं पता कि यह कैसे काम करता है, मुझे आश्चर्य है कि पैकेज कैसे हो सकता है मैन्युअल रूप से स्थापित, तो मैं स्रोत कोड की मूल निर्देशिका में फ़ाइलों के उपयोग को समझ सकता हूं, धन्यवाद।asdf-install

उत्तर

17

संक्षिप्त उत्तर: बस quicklisp का उपयोग करें।

लांग जवाब: अगर आप समझना चाहते हैं, कैसे पैकेज, या - अधिक सटीक - ASDF प्रणाली, खर्च की गई थी, कि एक अच्छा विचार है। असल में, इसके बारे में कुछ भी मुश्किल नहीं है।

हर ASDF प्रणाली .asd एक्सटेंशन के साथ एक प्रणाली परिभाषा फ़ाइल होनी चाहिए। यह फ़ाइल सिस्टम की अन्य फ़ाइल को .asd फ़ाइल से संबंधित उनके पथों के साथ नाम देती है, उनके प्रकार (डिफ़ॉल्ट रूप से: lisp स्रोत कोड) और निर्भरताएं। आपके लिस्प को पता होना चाहिए कि सिस्टम परिभाषा फ़ाइल कहां मिलें। एएसडीएफ में इसके बारे में लिस्प को सूचित करने के 2 तरीके हैं: निर्देशिका को जोड़ना, जिसमें आप फ़ाइल या सिल्लिंक को asdf:*central-registry* सूची में संग्रहीत करते हैं या विशेष कॉन्फ़िगरेशन फ़ाइलों को सेट करते हैं (जिसे स्रोत-रजिस्ट्री कहा जाता है - ASDF manual में उस पर अधिक)।

अब अगर आप हाथ से प्रणाली स्थापित करने के लिए, बस इसके स्रोतों डाउनलोड, उन्हें कुछ निर्देशिका में निकालने चाहते हैं (जैसे /home/user/lib/lisp/ में - आप /home/user/lib/lisp/cl-ppcre-2.3.1/ मिल सकता है, जो अंदर वहाँ cl-ppcre.asd है)। अपने लिस्प को इसके बारे में पता लगाने के लिए बस (push "/home/user/lib/lisp/cl-ppcre-2.3.1/" asdf:*central-registry*) (और पिछला स्लैश न भूलें - यह आवश्यक है), और फिर आप (asdf:oos 'asdf:load-op :cl-ppcre) के साथ सिस्टम लोड कर सकते हैं।

संभव है कि आप भी सेटअप एक विशेष निर्देशिका है, जहां आप /home/user/.lisp/ की तरह अपने मौजूदा सिस्टम सिमलिंक कर देंगे, और लिस्प स्टार्टअप प्रकार (.sbclrc में उदा) पर *central-registry* में जोड़ें। अब अगर आप अस्थायी रूप से इस डीआईआर में जुड़े सिस्टम में से कुछ को ओवरराइड करना चाहते हैं, तो कहें, एक नए संस्करण के साथ, आपको कुछ भी अनलिंक करने की आवश्यकता नहीं है - बस वैकल्पिक सिस्टम के पथ को *central-registry* पर धक्का दें।

क्विकलिस्प आपके लिए और अधिक कुछ करता है ...