2016-02-04 16 views
96

उदाहरण के लिए, जब मैं स्थापित Angular2:स्वचालित रूप से एनपीएम सहकर्मी निर्भरताओं को कैसे स्थापित करें?

npm install --save angular2 
[email protected] /Users/doug/Projects/dougludlow/temp 
├── [email protected] 
├── UNMET PEER DEPENDENCY [email protected]^3.0.2 
├── UNMET PEER DEPENDENCY [email protected]^0.33.3 
├── UNMET PEER DEPENDENCY [email protected] 
├── UNMET PEER DEPENDENCY [email protected] 
└── UNMET PEER DEPENDENCY [email protected] 

npm WARN [email protected] requires a peer of [email protected]^3.0.2 but none was installed. 
npm WARN [email protected] requires a peer of [email protected]^0.33.3 but none was installed. 
npm WARN [email protected] requires a peer of [email protected] but none was installed. 
npm WARN [email protected] requires a peer of [email protected] but none was installed. 
npm WARN [email protected] requires a peer of [email protected] but none was installed. 

वहाँ एक जादू झंडा है कि मैं NPM कि साथियों निर्भरता के रूप में अच्छी तरह से स्थापित हो जाएगा करने के लिए पारित कर सकते हैं है? मैं एक खोजने में सक्षम नहीं हूं ... सहकर्मी निर्भरताओं को मैन्युअल रूप से कॉपी और पेस्ट करना कठिन है और सुनिश्चित करें कि मेरे पास सही संस्करण हैं।

दूसरे शब्दों में, मैं नहीं बल्कि करने की जरूरत नहीं होगी:

npm install --save [email protected] [email protected]^3.0.2 [email protected]^0.33.3 [email protected] [email protected] [email protected] 

बेहतर तरीका क्या है?

+0

आप पहले से ही है कि समस्या का समाधान है? मेरे पास कोणीय 2 स्थापित करने वाला एक ही समस्या है। मैन्युअल रूप से -6 ध्वज के साथ es6-वादा स्थापित करने के बाद भी npm install -g angular2 को पुनः प्रयास करने के बाद भी मुझे 5 अनमेट सहकर्मी निर्भरताओं es6-Prom, es6-shim, reflect-metadata, rxjs और zone.js की एक ही त्रुटि/चेतावनी मिलती है – nttakr

+3

@nttakr - हां, सटीक संस्करणों को स्थापित करना जो चाहें कि सहकर्मी निर्भरता चेतावनी से छुटकारा पाती है। आप उन्हें वैश्विक रूप से स्थापित नहीं करना चाहते हैं (-जी ध्वज के साथ)। आप उन्हें स्थानीय रूप से स्थापित करना चाहते हैं (-एस ध्वज), लेकिन जैसा कि मैंने कहा, उन्हें सटीक संस्करण होने की आवश्यकता है (यानी: 'angular2 @ 2.0.0-beta.3'' की आवश्यकता है 'es6-promise @^3.0.2') । हालांकि, मैं जानना चाहता हूं कि कोई आदेश/ध्वज है जो स्वचालित रूप से सहकर्मी निर्भरताओं को स्थापित करता है। –

+0

@DouglasLudlow आप किस एनपीएम का उपयोग कर रहे हैं? – peteb

उत्तर

70

सहकर्मी निर्भरताओं का स्वचालित इंस्टॉल स्पष्ट रूप से एनपीएम 3 के साथ हटा दिया गया था, क्योंकि इससे हल करने की कोशिश करने की तुलना में अधिक समस्याएं होती हैं। उदाहरण के लिए आप इसके बारे में यहाँ पढ़ सकते हैं:

http://blog.npmjs.org/post/110924823920/npm-weekly-5 https://github.com/npm/npm/releases/tag/v3.0.0

तो नहीं, दिए गए कारण के लिए, आप उन्हें स्वचालित रूप से NPM 3 ऊपर की तरफ से स्थापित नहीं कर सकता।

+2

हाँ, मैंने यह देखा: https://github.com/ एनपीएम/एनपीएम/मुद्दे/6565 ... मैं बस उम्मीद कर रहा था कि आप अभी भी उन्हें ध्वज या कुछ के साथ वैकल्पिक रूप से स्थापित कर सकते हैं। मान लीजिए मुझे एक मुद्दा या कुछ खोलना होगा। –

+0

मुझे विश्वास नहीं है कि एनपीएम स्पष्ट रूप से लिबर लेखकों से सहकर्मी निर्भरताओं के प्रबंधन के बोझ को हटाना चाहता है। – migg

+29

आप इस तरह की समस्या से कैसे निपटते हैं? मैं एक एनपीएम विशेषज्ञ नहीं हूं इसलिए जब मैं पढ़ता हूं कि "एक्स को एक पीयर की आवश्यकता है लेकिन कोई भी नहीं मिला", मैं खुद से पूछता हूं, "कौन सा सहकर्मी?" और "मैं सब कुछ फिर से कैसे काम कर सकता हूं?" क्या कोई प्रक्रिया है? क्या आप एक्स और वाई के कोड में खोदते हैं जब तक आपको पता न लगे कि क्या गुम है?एक बार जब आप यह पता लगा लें कि क्या गुम है, तो आप आगे क्या करते हैं? धन्यवाद! –

14

मैं सटीक मान चेतावनी के साथ package.json दोबारा लिख ​​कर इसे हल के बारे में इस प्रकार थे:

npm WARN [email protected] requires a peer of [email protected]^0.33.3 but none was installed. 

package.json: "ES6-शिम": "^ 0.33.3",

npm WARN [email protected] requires a peer of [email protected] 

package.json: "प्रतिबिंबित-मेटाडाटा": "0.1.2",

Delete node_modules directory 

npm install 
+0

हाँ, लेकिन यह अभी भी एक मैन्युअल कदम है ... –

+5

शायद एक 'एनपीएम कैश क्लीन', 'npm install' node_modules को पोंछने से बेहतर हो सकता है? मैं हमेशा node_modules को हटाने से बचना चाहता हूं, मुझे यह पता लगाना पसंद है कि निर्देशिका को दूर करने के बजाए समस्या क्या है। – Bruno

9

परियोजना npm-install-peers साथियों का पता लगाने और उन्हें स्थापित हो जाएगा।

v1.0.1 के रूप में यह स्वचालित रूप से package.json पर लिखने का समर्थन नहीं करता है, जो अनिवार्य रूप से यहां हमारी आवश्यकता को हल करेगा।

उड़ान में इस मुद्दे के लिए अपने समर्थन जोड़ने करें: https://github.com/spatie/npm-install-peers/issues/4

+12

चलने पर, उसने मुझे यह संदेश दिया। 'इस पैकेज में कोई सहकर्मी निर्भरता नहीं है' – Thabung

+0

मेरे पास एक ही संदेश है। –

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