मैंने नोड का उपयोग करके एक साधारण एप्लिकेशन लिखा था। यह एक्सप्रेस, mongodb और mongoose (आसान) पर निर्भर करता है। तो, मैं एक फ़ाइल package.json
बुलाया बनाया है और वह में रखते:पैकेज.जेसन फ़ाइल कैसे लिखें ताकि सभी निर्भरताओं को "एनपीएम इंस्टॉल" के साथ डाउनलोड किया जा सके
{
"name": "booking-dojo",
"description": "Booking dojo app",
"version": "0.0.1",
"private": true,
"dependencies": {
"express": "3.x",
"mongodb": "*",
"mongoose": "*"
}
}
मैं तो npm install
भाग गया, NPM की उम्मीद कर उन मॉड्यूल और उनकी निर्भरता स्थापित करने के लिए। परिणाम निराशाजनक था:
[email protected] /home/merc/Synced/Development/Bookings/app/server
├─┬ [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]2.4.3
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └─┬ [email protected]
│ └── [email protected]
├─┬ [email protected]
│ └── [email protected]
└─┬ [email protected]
├── [email protected]
└── [email protected]
मैं, इस से उलझन में हूँ के रूप में मैं कि express
जरूरतों jade
(और भी बहुत कुछ), और mongoose
जरूरतों mongodb
पता है।
अगर मैं node_modules/jade
में जाकर npm install
चलाने के लिए, मुख्य पेड़ से परिणाम बहुत अलग है:
[email protected] /home/merc/Synced/Development/Bookings/app/server
├─┬ [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ └── [email protected]
│ ├─┬ [email protected]
│ │ └─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ └─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ └─┬ [email protected]
│ └─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └── [email protected]
├─┬ [email protected]
│ └── [email protected]
└─┬ [email protected]
├── [email protected]
└── [email protected]
तो, express
हो गई एक बहुत है। ऐसा लगता है कि npm install
उप-मॉड्यूल की निर्भरताओं के केवल कुछ लोड हो रहा है।
क्या कोई इस पर कुछ प्रकाश डाल सकता है? कुछ निर्भरताओं क्यों गुम हैं? क्या मुझसे कुछ गलत हो रही है? (संभावना)
धन्यवाद!
Merc।
नोट करने के लिए एक और बात यह है कि अगर एक पैकेज एक मॉड्यूल निर्भरता श्रृंखला में आगे सुलझाया जा सकता है पर निर्भर करता है, यह है। उदाहरण के लिए, चूंकि आपके पास अपने पैकेज में 'mongodb' है। Json, Mongoose को अपने' mongodb' को स्थापित करने की आवश्यकता नहीं है। –
ब्रैंडन, यह * उत्तर * है। मैंने बस इसे बहुत पहले नहीं सोचा था। असल में, यह MongoDb के तहत MongoDb स्थापित नहीं करता है क्योंकि यह आगे हल हो गया है। चूंकि यह * वास्तविक उत्तर है, क्या आप टिप्पणी के बजाए इसे उचित उत्तर के रूप में जोड़ सकते हैं, ताकि मैं इसे स्वीकार कर सकूं? – Merc
@ पीटर अच्छा बिंदु, एक्सप्रेस द्वारा * जेनरेट * उत्पन्न * हालांकि एक निर्भरता बीटीडब्ल्यू के रूप में व्यक्त किया जाएगा। मेरा सवाल है, "कुछ निर्भरता क्यों गुम हैं?", सरल जवाब है (ब्रैंडन द्वारा प्रदान किया गया) "वे गायब हैं क्योंकि वे निर्भरता पेड़ में आगे बढ़े हैं"। धन्यवाद! – Merc