Npm एक संगठन के भीतर उपयोग करने के लिए एक महान मंच की तरह लगता है, उत्सुक अगर एक निजी रेपो संभव है, जैसे नेक्सस / मावेन के साथ। Google पर कुछ भी नहीं आता है :(
Npm एक संगठन के भीतर उपयोग करने के लिए एक महान मंच की तरह लगता है, उत्सुक अगर एक निजी रेपो संभव है, जैसे नेक्सस / मावेन के साथ। Google पर कुछ भी नहीं आता है :(
जवाबों:
मुझे नहीं लगता कि ऐसा करने का कोई आसान तरीका है।
Npm प्रलेखन पर एक नज़र हमें बताता है, कि यह संभव है:
क्या मैं अपनी निजी रजिस्ट्री चला सकता हूं?
हाँ!
सबसे आसान तरीका सोफे डेटाबेस को दोहराने के लिए है, और एपीआई को लागू करने के लिए समान (या समान) डिज़ाइन डॉक्टर का उपयोग करें।
यदि आप आधिकारिक CouchDB से निरंतर प्रतिकृति सेट करते हैं, और फिर अपने आंतरिक CouchDB को रजिस्ट्री कॉन्फ़िगरेशन के रूप में सेट करते हैं, तो आप अपने निजी लोगों के अलावा, किसी भी प्रकाशित पैकेज को पढ़ने में सक्षम होंगे, और डिफ़ॉल्ट रूप से केवल आंतरिक रूप से प्रकाशित करेंगे। यदि आप पूरी दुनिया के लिए एक पैकेज प्रकाशित करना चाहते हैं, तो आप बस
--registry
उस कमांड के लिए विन्यास को ओवरराइड कर सकते हैं ।
घड़ी ब्लॉग में एक निजी एनपीएम रिपॉजिटरी बनाने के तरीके पर एक उत्कृष्ट ट्यूटोरियल भी है ।
EDIT (2017-02-26):
वास्तव में नया नहीं है, लेकिन अब एनपीएम पर निजी पैकेजों की मेजबानी के लिए भुगतान योजनाएं हैं ।
इन वर्षों में, NPM कई गैर-Node.js कंपनियों के लिए एक कारक बन गया है, वे भी, विशाल सीमांत पारिस्थितिकी तंत्र के माध्यम से जो NPM पर निर्मित है। यदि आपकी कंपनी पहले से ही जावा प्रोजेक्ट्स को आंतरिक रूप से होस्ट करने के लिए सोनाटाइप नेक्सस चला रही है , तो आप इसका उपयोग आंतरिक एनपीएम पैकेजों की मेजबानी के लिए भी कर सकते हैं।
अन्य विकल्पों में JFrog Artifactory और Inedo ProGet शामिल हैं , लेकिन मैंने उन का उपयोग नहीं किया है।
https://github.com/isaacs/npmjs.org/ : npm संस्करण v1.0.26 में आप निजी git रिपॉजिटरी url को अपने package.json फ़ाइलों में निर्भरता के रूप में निर्दिष्ट कर सकते हैं। मैंने इसका इस्तेमाल नहीं किया है, लेकिन प्रतिक्रिया पसंद करूंगा। यहाँ है आपको क्या करने की जरूरत है:
{
"name": "my-app",
"dependencies": {
"private-repo": "git+ssh://git@yourgitserver.com:my-app.git#v0.0.1",
}
}
निम्न पोस्ट इस बारे में बात करती है: डीबग करने योग्य: निजी एनपीएम मॉड्यूल
ऐसा करने के लिए npm पैकेज का उपयोग करना आसान है। https://www.npmjs.org/package/sinopia
संक्षेप में, सिनोपिया एक निजी / कैशिंग एनपीएम रिपॉजिटरी सर्वर है जिसे आप शून्य कॉन्फ़िगरेशन के साथ सेटअप कर सकते हैं।
सिनोपिया का उपयोग किया जा सकता है:
Verdaccio वही है जिसकी मैं तलाश कर रहा था और वह इसका खुद का जवाब चाहता है;) यह सिनोपिया का सक्रिय रूप से बनाए रखा कांटा है ( यहाँ बहुत उत्कीर्ण उत्तर दिया गया है )। यह एक npm पैकेज के रूप में एक npm रजिस्ट्री है , और इसे पाया जा सकता है
यहाँ: https://github.com/verdaccio/verdaccio ,
यहाँ: https://www.verdaccio.org ,
यहाँ: pnpm i -g verdaccio
या
यहाँ:docker run -it --rm --detach --name verdaccio -p 4873:4873 verdaccio/verdaccio
14 अप्रैल (2015) को, npm निजी मॉड्यूल पेश किए गए थे।
जब आप निजी मॉड्यूल के लिए भुगतान करते हैं, तो आप कर सकते हैं:
- जितने चाहें उतने निजी पैकेज होस्ट करें
- उन पैकेजों के लिए रीड एक्सेस या रीड-राइट एक्सेस किसी अन्य भुगतान किए गए उपयोगकर्ता को दें
- उन अन्य पैकेजों को स्थापित और उपयोग करें जिन्हें अन्य भुगतान किए गए उपयोगकर्ताओं ने आपको पढ़ने के लिए एक्सेस दिया है
- किसी भी पैकेज पर सहयोग करें जो अन्य भुगतान किए गए उपयोगकर्ताओं ने आपको लिख दिया है
बेशक, यह मुफ़्त नहीं है - वर्तमान में प्रति उपयोगकर्ता 7 डॉलर प्रति माह।
और यह अभी भी एक नई सेवा है। उदाहरण के लिए संगठन खातों के लिए समर्थन गायब है (जून 2015 तक):
वर्तमान में, निजी पैकेज केवल व्यक्तिगत उपयोगकर्ताओं के लिए उपलब्ध हैं, लेकिन संगठन खातों के लिए समर्थन जल्द ही आ रहा है। इस दौरान अपने संगठन के लिए एक उपयोगकर्ता बनाने के लिए स्वतंत्र महसूस करें, और जब समर्थन यहां होता है, तो हम इसे किसी संगठन में अपग्रेड कर सकते हैं।
तो सही नहीं है, जबकि यह आधिकारिक है निजी संकुल को बनाए रखने npm समाधान है, और यह स्वयं इसे उल्लेख के लायक बनाता है।
अपडेट करें
Npm निजी पैकेज अब उपलब्ध हैं, दोनों व्यक्तिगत उपयोगकर्ताओं और संगठनों के लिए योजना के साथ :
- सार्वजनिक और निजी पैकेजों की असीमित संख्या
- $ 7 / माह / डेवलपर
- संगठन नाम के आधार पर एक स्कोप नाम शामिल है
- @ Org-name / foo पर पहुंच को प्रकाशित और नियंत्रित करें
(अस्वीकरण: npm, Inc. के साथ किसी भी तरह से दूर से संबद्ध नहीं है )
मुझे लगता है कि इस धागे को एक अद्यतन की आवश्यकता है। यदि आप किसी भी npm रजिस्ट्रियों को देखते हैं जो उपलब्ध हैं, वे बेहद भारी हैं और उन्हें couchdb की आवश्यकता है। Gemfurry और अन्य लोगों को सार्वजनिक रिपॉजिट से बाहर निकलने की जरूरत है। एनपीएम के कुछ शैडो-एनपीएम की हाल की कोई टिप्पणी नहीं है ।
फिर, हमने रेगी को पाया । इसकी एक अच्छी प्रतिबद्ध गतिविधि है, जिसे स्थापित करना और उपयोग करना बहुत आसान है और इसमें बहुत अच्छा सामुदायिक समर्थन है । इसका बेहद हल्का वजन और आपको काउचडब आदि से निपटना नहीं है।
अगर मैं आपके सवाल को अच्छी तरह से नहीं समझता, तो मुझे माफ़ कर दें, लेकिन यहाँ मेरा जवाब है:
आप एक निजी npm मॉड्यूल बना सकते हैं और इसे स्थापित करने के लिए npm के सामान्य कमांड का उपयोग कर सकते हैं। अधिकांश नोड.जेएस उपयोगकर्ता अपने रिपॉजिटरी के रूप में गिट का उपयोग करते हैं, लेकिन आप जो भी रिपोजिटरी काम करते हैं उसका उपयोग कर सकते हैं।
एक बार जब आपका पैकेज बन जाता है, तो उपयोग करें
npm स्थापित * tarball_url *
पार्टी के लिए थोड़ा देर से, लेकिन NodeJS (~ 14 नवंबर के रूप में मुझे लगता है) कॉर्पोरेट NPM रिपॉजिटरी का समर्थन करता है - आप उनकी आधिकारिक साइट पर अधिक जानकारी प्राप्त कर सकते हैं ।
सरसरी निगाह से यह प्रतीत होता है कि एनपीएम एनपीएम रिपॉजिटरी के मिररिंग के माध्यम से गिरावट की अनुमति देता है - अर्थात, यह वास्तविक एनपीएम रिपॉजिटरी में पैकेजों को देखेगा यदि यह आपके आंतरिक एक पर नहीं मिल सकता है। बहुत उपयोगी लगता है!
npm एंटरप्राइज़ आपके संगठन के भीतर JavaScript मॉड्यूल को सुरक्षित रूप से साझा करने और वितरित करने के लिए एक ऑन-प्रिमाइसेस समाधान है, जो npm और सार्वजनिक npm रजिस्ट्री को बनाए रखने वाली टीम से है। यह उन टीमों के लिए डिज़ाइन किया गया है जिनकी आवश्यकता है:
निजी मॉड्यूलों का आसान आंतरिक साझाकरण विकास का बेहतर नियंत्रण और वर्कफ़्लो वर्कफ़्लो वर्कफ़्लो सिक्योरिटी सिक्योरिटीज़ ऑफ़ स्ट्राइक सिक्योरिटी फ़ॉर ओपनिंग-सोर्स मॉड्यूल्स कम्प्लायंस फ़ॉर लीगल आवश्यकताओं को होस्ट करने के लिए ऑन-प्रिमाइसेस npmE प्राइवेट npm है
npmE एक npm रजिस्ट्री है जो उसी मानक npm क्लाइंट के साथ काम करती है जो आप पहले से ही उपयोग करते हैं, लेकिन बड़े संगठनों द्वारा आवश्यक सुविधाएँ प्रदान करता है जो अब उत्साहपूर्वक नोड को अपना रहे हैं। यह npm, Inc., npm ओपन सोर्स प्रोजेक्ट के प्रायोजक और सार्वजनिक npm रजिस्ट्री के मेजबान द्वारा बनाया गया है।
दुर्भाग्य से, यह मुफ़्त नहीं है। आप एक परीक्षण प्राप्त कर सकते हैं, लेकिन यह वाणिज्यिक सॉफ्टवेयर है। यह एकल डेवलपर्स के लिए बहुत अच्छा नहीं है, लेकिन यदि आप एक एकल डेवलपर हैं, तो आपके पास GitHub :-) है
यह पोस्ट एक निजी रजिस्ट्री को सेटअप करने के तरीके के बारे में बात करती है
Npmjs.org की प्रतिकृति निम्न कमांड का उपयोग करें
curl -X POST http://127.0.0.1:5984/_replicate -d '{"source":"http://isaacs.iriscouch.com/registry/", "target":"registry", "continuous":true, "create_target":true}' -H "Content-Type: application/json"
ध्यान दें "continuous":true
कि कमांड में है, यह CouchDB के _changes एपीआई का उपयोग करता है और जब यह एपीआई अधिसूचित होता है तो कोई भी नया बदलाव करेगा।
यदि आप कभी इन प्रतिकृति को रोकना चाहते हैं, तो आप आसानी से जोड़ सकते हैं "cancel":true
। फिर स्क्रिप्ट होगी
curl -X POST http://127.0.0.1:5984/_replicate -d '{"source":"http://isaacs.iriscouch.com/registry/", "target":"registry", "continuous":true, "create_target":true, "cancel":true}' -H "Content-Type: application/json"
इसके बाद npmjs.org readme पर जाएं npm (सुनिश्चित करें nodejs
और git
इंस्टॉल किया गया है) को इंस्टॉल करें। झटका सब कदम है
git clone git://github.com/isaacs/npmjs.org.git
cd npmjs.org
sudo npm install -g couchapp
npm install couchapp
npm install semver
couchapp push registry/app.js http://localhost:5984/registry
couchapp push www/app.js http://localhost:5984/registry
मुझे पार्टी में थोड़ी देर हो सकती है लेकिन इन दोनों में से कोई भी आपके लिए काम कर सकता है:
यदि आप विकेंद्रीकृत दृष्टिकोण पसंद करते हैं, तो आप आरागॉन पैकेज मैनेजर का भी उपयोग कर सकते हैं: