2013-11-15 16 views
7

मेरे पास sqlite3 पैकेज के साथ निर्भरता है।विकल्प npm package.json निर्भरताओं में जोड़ा जा सकता है?

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

npm install --build-from-source --sqlite=/path/to/sqlite sqlite3 

दोनों "--build-से-स्रोत" और "--sqlite" विकल्प द्वारा नियंत्रित किया जाता है sqlite3 पैकेज।

अब मैं पैकेज.जेसन को उन विकल्पों के साथ अपनी निर्भरता स्थापित करने के लिए कैसे कह सकता हूं?

"dependencies": { 
    "sqlite3": "*" 
} 

साथ

स्पष्ट रूप से मैं

npm install sqlite3 

के बराबर मिलता है, लेकिन मैं sqlite3 पैकेज के लिए --build-से-स्रोत और --sqlite विकल्पों के लिए मजबूर करने के लिए एक रास्ता नहीं मिल रहा है

उत्तर

6

एक विकल्प scripts सदस्य का उपयोग करना है और प्रीइंस्टॉल या पोस्टइंस्टल हुक के तहत इंस्टॉल स्क्रिप्ट सेट करना है:

"scripts": { 
    "preinstall": "npm install --build-from-source --sqlite=/path/to/sqlite sqlite3" 
}, 
+0

आदर्श नहीं है क्योंकि अब "एनपीएम सिकंक्रैप" क्रैश है क्योंकि sqlite3 को अब एनपीएम द्वारा निर्भरता नहीं माना जाता है; लेकिन स्वीकार किया क्योंकि यह विकास करते समय नौकरी करता है। –

+0

नोट: निर्भरता में निर्भरता जोड़कर "एनपीएम सिकंक्रैप" को धोखा दिया जा सकता है। पूर्व-स्थापित, निर्भरता मधुमक्खी मॉड्यूल: पुन: स्थापित नहीं करता है –

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