2017-03-28 22 views
6

मैं ऑफ़लाइन नेटवर्क पर काम कर रहा हूं और एनपीएम का उपयोग करके कोणीय-क्ली स्थापित करना चाहता हूं। मेरे पास कोणीय-क्ली की ज़िप फ़ाइल है और नवीनतम नोड और एनपीएम संस्करण का उपयोग कर रहा है। मैं आदेश का उपयोग कर रहा हूँ: npm install ./angular-cli-master फ़ोल्डर से कोणीय-क्ली स्थापित करने के लिए। लेकिन मुझे यह त्रुटि मिल रही है कि मुझे इंटरनेट कनेक्शन नहीं है (जो ठीक है)। तो मैं github से डाउनलोड किए गए ज़िप का उपयोग करके ऑफ़लाइन होने पर इस कोणीय-क्ली को कैसे स्थापित कर सकता हूं?ऑफ़लाइन होने पर एनपीएम पैकेज कैसे इंस्टॉल करें?

आपकी मदद के लिए धन्यवाद

+0

क्या आप सुनिश्चित हैं कि आपके संग्रह में कोणीय-क्ली की हर निर्भरता भी शामिल है? – DrakaSAN

+0

मुझे यकीन नहीं है लेकिन अब मैं इसे https://registry.npmjs.org/webpack-merge तक पहुंचने का प्रयास कर रहा हूं। तो मुझे लगता है कि मुझे एनपीएम कमांड का उपयोग करने के लिए इस फाइल का उपयोग करना होगा।क्या आपके पास कोई सुराग है? – Dorni

+0

यदि आप [angular-cli's package.json] (https://github.com/angular/angular-cli/blob/master/package.json#L100) देखते हैं तो आप देख सकते हैं कि वेबपैक विलय एक निर्भरता है, आपको आवश्यकता है कोणीय-क्ली स्थापित करने से पहले सभी निर्भरताओं को स्थापित करने के लिए। चूंकि यह स्थापित नहीं है, इसलिए एनपीएम इसे इंटरनेट से प्राप्त करने का प्रयास करता है, और – DrakaSAN

उत्तर

6

आप बस स्थानीय स्थापना के लिए पैकेज और अपने node_modules फ़ोल्डर में सभी निर्भरता, कॉपी परियोजना के अंदर, या वैश्विक फ़ोल्डर में (npm config get prefix यह देखने के लिए कि यह कहां स्थित है) वैश्विक स्थापना के लिए।

npm install का व्यवहार निर्भरताओं की जांच करना और उन्हें पहले स्थापित करना है। जब उन्हें इंस्टॉल नहीं किया जाता है, न ही स्थानीय फ़ाइल जिसमें उन्हें शामिल किया जाता है, तो यह उन्हें डाउनलोड करने का प्रयास करता है।

चूंकि ये सभी चरण विफल हो जाते हैं (आपके पास निर्भरता स्थापित नहीं है, यह अपेक्षित स्थान पर उपलब्ध नहीं है, और यह इसे डाउनलोड नहीं कर सकता है), स्थापना विफल हो जाती है।

आप प्रत्येक मॉड्यूल के package.json में निर्भरता सूची पा सकते हैं, लेकिन चूंकि यह रिकर्सिव है, इसलिए यदि आप इसे मैन्युअल रूप से करते हैं तो सब कुछ ठीक करने में लंबा समय लग सकता है, एनपीएम इसे रिकर्सन द्वारा करता है।

आपके लिए, सबसे आसान तरीका कनेक्टेड पीसी पर एक नया फ़ोल्डर बनाना होगा, और इसके अंदर npm install angular-cli, फ़ोल्डर को ज़िप करें और इसे ऑफ़लाइन मशीन पर स्थानांतरित करें।

0

आप NPM स्थापित आदेश यहाँ प्रलेखन पा सकते हैं: https://docs.npmjs.com/cli/install

मैं काफी यकीन नहीं है और दुर्भाग्य से, मैं अभी इसे अपने आप को परीक्षण करने के लिए मौका नहीं है, लेकिन मैं फ़ोल्डर को अनजिप करने या डॉट को हटाने की कोशिश करेगा, जैसे कि: एनपीएम इंस्टॉल/कोणीय-क्ली-मास्टर (= एक फ़ोल्डर को ज़िप फ़ाइल नहीं स्थापित करना) या बस उस तरह समाप्त होने वाली ज़िप फ़ाइल जोड़ें: npm इंस्टॉल करें। /angular-cli-master.tgz
(= एक ज़ी स्थापित करना पी फ़ाइल नहीं एक फ़ोल्डर, फ़ाइल अंत ज़िप या कुछ और, हो सकता है, हालांकि)

2

संक्षिप्त उत्तर, आप नहीं कर सकते। इस तरह के @angular/cli के रूप में सबसे NPM संकुल अन्य निर्भरता की जरूरत है और उन बच्चे निर्भरता जो स्थापित हो की जरूरत है जब आप npm install

आप कर सकते हैं चलाने के लिए, तथापि, CLI जब नेटवर्क पर स्थापित कर उसका उपयोग जब ऑफ़लाइन।

+0

मुझे लगता है कि क्या बीमार है। लेकिन% appdata% (ऑनलाइन पीसी में) में स्थित फाइलें गायब नहीं होंगी और मुझे इन फ़ाइलों को भी स्थानांतरित करना होगा? – Dorni

+1

मुझे नहीं लगता कि क्ली स्थापित होने के बाद आपको कुछ भी चाहिए, इसे ठीक काम करना चाहिए और इंटरनेट से कनेक्ट करने की आवश्यकता नहीं है। हालांकि, यदि आप 'नई नई परियोजना नाम' के साथ नई परियोजनाएं बनाने की योजना बना रहे हैं तो आपको इंटरनेट की आवश्यकता होगी क्योंकि उस परियोजना को निर्भरताओं को स्थापित करने की आवश्यकता है। अगर आप केवल एनजी बिल्ड, जेनरेट और दूसरों का उपयोग कर रहे हैं तो आपको ठीक होना चाहिए। –

4

2016 तक, कुछ सॉफ्टवेयर उपलब्ध हैं। --prefer-offline:

https://addyosmani.com/blog/using-npm-offline/

अब तक NPM 5 के आगमन आप ध्वज के साथ उपयोग कर सकते हैं

(मई 2017)।

yarn यह बॉक्स से बाहर करता है।

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