npm - एक अलग फ़ोल्डर में एक पैकेज के लिए निर्भरता स्थापित करें?


142

मेरे पास निम्नलिखित निर्देशिका संरचना है:

/some_project
    source.js
    package.json

मैं some_project के लिए निर्भरताएँ स्थापित करना चाहूंगा। मुझे पता है कि मैं some_project में cd कर सकता हूं और फिर npm इंस्टॉल रन कर सकता हूं

लेकिन मैं सोच रहा था कि क्या निर्देशिका बदले बिना यह संभव है? कुछ इस तरह

npm install some_project/package.json 

जवाबों:


344

आप विकल्प के npm install <folder>साथ संस्करण का उपयोग कर सकते हैं --prefix। आपके परिदृश्य में फ़ोल्डर और उपसर्ग समान होंगे:

npm --prefix ./some_project install ./some_project

4
यह सवाल का असली जवाब है। शुक्रिया @coudy
जी। घीज

5
BTW, यह etcगंतव्य में खाली फ़ोल्डर बनाता है, यह एक ज्ञात बग github.com/npm/npm/pull/7249 है
माइकल रेडियोनोव

8
इस उत्तर के लिए धन्यवाद। क्या इस पर कोई और स्पष्टता है कि क्या दूसरे ./some_projectकी आवश्यकता है?
एरोन

12
दूसरा ./some_projectआवश्यक नहीं है
JRJurman

4
यह विंडोज 10 पर मेरे लिए काम नहीं करता है। यह वर्तमान निर्देशिका में निर्भरताएं स्थापित करता है और बस सबफ़ोल्डर में एक सिमिलिंक डालता है।
हेरोहर्ट

45

अद्यतन: चूंकि --prefixविकल्प मौजूद है, मैं अब इस प्रश्न के लिए @ कौडी के उत्तर के लिए वोट करता हूं। नीचे मूल उत्तर:

नहीं, npmहमेशा मौजूदा डायरेक्टरी में या -gसिस्टम वाइड नोड_मॉड्यूल्स में स्थापित होगा। आप इसे एक सब-सब्सक्रिप्शन के साथ पूरा कर सकते हैं, हालांकि यह आपकी वर्तमान निर्देशिका को प्रभावित नहीं करेगा:

(cd some_project && npm install)

कोष्ठक इसे एक उपधारा में चलाता है ।


यह आखिरकार मैंने क्या किया - सीडी some_project && npm स्थापित करें। साभार
फ्लोरिन

1
क्या विंडोज के लिए इसके बराबर है?
मेलिगी

START /D "%my_dir%" /I /WAIT npm install
@ मेल्गी

1

विंडोज 10 पर मैं --prefixकाम नहीं कर सकता था, इसलिए मुझे cdइसे लागू करना पड़ा ।

cd PATH_TO_FOLDER && npm install 
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.