2012-03-07 14 views
5

मेरे पास एक node.js ऐप है जिसे मैंने अभी Heroku में तैनात किया है जो canvas मॉड्यूल पर निर्भर करता है। हालांकि, उस मॉड्यूल को कैरो ग्राफिक्स लाइब्रेरी और लंबी कहानी की आवश्यकता होती है, मुझे एक प्रीकंपिल्ड संस्करण का उपयोग करने की आवश्यकता है जो this fork of canvas के साथ शामिल है। Heroku पर काम करने के मेरे एप्लिकेशन पाने के लिएpackage.json?

"dependencies" : { 
    "canvas" : "0.10.0", 
    "express" : "2.5.6", 
    "jade" : "0.20.1" 
    } 

लेकिन क्रम में, मैं GitHub

से कांटा में खींच चाहिए
"dependencies" : { 
    "canvas" : "git://github.com/elspoono/node-canvas-heroku.git#master", 
    "express" : "2.5.6", 
    "jade" : "0.20.1" 
    } 

यह है:

आम तौर पर, मेरी package.json निर्भरता की तरह लग रहे package.json का "Heroku-only" संस्करण होना संभव है? या पैकेज.जेसन में कोई और अनुभाग है जहां मैं देव वातावरण में कैनवास निर्भरता को "ओवरराइड" कर सकता हूं?

+0

क्या आप उसी ऐप को हरोकू में और कहीं और तैनात कर रहे हैं? यदि हेरोकू आपका एकमात्र लक्ष्य है, तो क्यों 2 package.json फ़ाइलों को बनाए रखने की आवश्यकता है? – Marco

+0

स्थानीय मशीन, हेरोकू मशीन, लेकिन मैं भविष्य में अन्य वातावरण जोड़ सकता हूं। अगर कोई और परियोजना को जांचता है, तो एनपीएम इंस्टॉल तब तक असफल हो जाएगा जब तक कि उनका आर्किटेक्चर उसकेोकू के –

उत्तर

2

कभी भी हेरोकू का उपयोग नहीं किया गया, लेकिन package.json प्रारूप devDependencies फ़ील्ड को परिभाषित करता है, Nodejitsu cheatsheet देखें। फिर $ npm install -d के साथ स्थापित करें।

+0

मुझे नहीं लगता था कि देवताओं पर निर्भरता उसी पैकेज के विभिन्न संस्करणों को ओवरराइड कर देगी, लेकिन ऐसा लगता है यह काम कर रहा है। हालांकि ऐसा लगता है कि --dev ध्वज के बिना भी devDependencies का उपयोग कर रहा है। क्या कोई एनवी वैरिएबल भी ढूंढ रहा है? –

+2

आप एनपीएम कॉन्फ़िगरेशन सेट उत्पादन सत्य के साथ उत्पादन मोड में चलाने के लिए एनपीएम कॉन्फ़िगर कर सकते हैं या एनवी वैरिएबल 'निर्यात एनपीएम_CONFIG_PRODUCTION = "true" ' – kevin

1

शायद आप गिट में एक हेरोोक विशिष्ट शाखा का उपयोग कर सकते हैं और तैनात करने से पहले इसमें विलय कर सकते हैं (यह सुनिश्चित करना कि आप अपने पैकेज.जेसन पर विलय नहीं करते हैं)।

+0

से मेल नहीं खाता और यदि मैं गिट का उपयोग नहीं कर रहा हूं :)? –

+3

फिर आप हेरोोकू पर तैनात नहीं हैं;) –

+0

हाहा, टच। मुझे लगता है कि मैं यह कहने का एक बेहतर तरीका बता सकता हूं कि "मैं चाहता हूं कि बिना गिट के इसे करने का कोई तरीका हो" :) –

2

penv नामक एक उपकरण है जो आशाजनक प्रतीत होता है। उनकी साइट से:

कभी-कभी हमें उत्पादन, स्टेजिंग और विकास जैसे विभिन्न वातावरणों के लिए एक अलग पैकेज.जेसन गुणों की आवश्यकता होती है। (पूर्व: jitsu तैनाती)

पेन के साथ आप अपने पैकेज.जेसन फ़ाइल को एक वातावरण.जेसन फ़ाइल के अंदर परिभाषित गुणों के साथ अनुकूलित कर सकते हैं।

असल में इसे आजमाने का प्रयास किया जा रहा है।

+0

कोशिश की, नौकरी पूरी हो गई –

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