2015-09-29 7 views
16

स्थिति यह है कि, मैं स्टैक का उपयोग कर नेटवायर स्थापित करने की कोशिश कर रहा हूं। हालांकि, नवीनतम नेटवायर 5.0.1 में एक समस्या है, जैसा कि घोबब्स द्वारा रिपोर्ट किया गया है: http://hub.darcs.net/ertes/netwire/issue/13स्टैक का उपयोग कर पैकेज के स्थानीय संस्करण को कैसे इंस्टॉल/उपयोग करें?

चूंकि मुझे नहीं पता कि समस्या कब तय की जाएगी, मैंने रेपो डाउनलोड किया और खुद को बदल दिया। हालांकि, मुझे समझ में नहीं आता कि स्थानीय स्तर पर पैच किए गए संस्करण को कैसे इंस्टॉल किया जाए। stack install इसे ~/.stack में स्थापित नहीं करता है। क्या किसी को कुछ पता है?

अद्यतन

अब मैं ढेर का उपयोग कर कुछ अन्य पुस्तकालयों के विकास कर रहा हूँ। मैं पुस्तकालयों का एक और प्रोजेक्ट कैसे उपयोग करूं? एक सापेक्ष पथ हार्ड कोडिंग अविश्वसनीय रूप से बदसूरत लग रहा है।

flags: {} 
packages: 
- '.' 
extra-deps: {} 
resolver: lts-3.7 

तुम भी netwire पर एक निर्भरता अपने कबाल में घोषित किया है:

उत्तर

11

तो तुम एक परियोजना जहां आप उपयोग करना चाहते स्थानीय स्तर पर Netwire संस्करण समझौता और अपनी परियोजना में आप एक stack.yml है, एक उदाहरण के रूप है फ़ाइल।

आप आपके इस परियोजना में Netwire समझौता उपयोग करने के लिए आप बस जैसे अपनी परियोजना, शायद netwire कहा जाता है की एक उपनिर्देशिका में समझौता Netwire पैकेज रखा, और अद्यतन अपने stack.yml:

flags: {} 
packages: 
- '.' 
- netwire 
extra-deps: {} 
resolver: lts-3.7 

अब stack build का निर्माण करेगा पैच किए गए नेटवायर संस्करण के साथ आपका प्रोजेक्ट।

तुम भी (यदि लाइसेंस परमिट) संशोधित स्रोत रख सकते हैं ऑनलाइन और या तो एक टारबॉल यूआरएल

- https://example.com/netwire.tar.gz 

या एक Git भंडार का उपयोग कर स्रोत देखें और संदर्भ के लिए प्रतिबद्ध:

- location: 
    git: [email protected]/netwire 
    commit: 6a86ee32e5b869a877151f74064572225e1a0398 

(अधिक जानकारी के लिए प्रलेखन देखें: https://docs.haskellstack.org/en/stable/yaml_configuration/#packages-and-extra-deps)

+1

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

+0

या कहें, मुझे यह पसंद है अगर मैं कहीं भी 'स्टैक ghci' का उपयोग करता हूं, तो मैं केवल' Control.Wire' –

+0

आयात कर सकता हूं, मैं 100% नहीं हूं लेकिन मुझे नहीं लगता कि यह एक समर्थित उपयोग केस है। – adamse

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