কোনও সংস্থার মধ্যে এনএমপি ব্যবহার করার জন্য দুর্দান্ত প্ল্যাটফর্মের মতো শোনাচ্ছে, কোনও ব্যক্তিগত রেপো সম্ভব হলে কৌতূহল, যেমন নেক্সাস / মাভেনের মতো। গুগলে কিছুই আসে না :(
কোনও সংস্থার মধ্যে এনএমপি ব্যবহার করার জন্য দুর্দান্ত প্ল্যাটফর্মের মতো শোনাচ্ছে, কোনও ব্যক্তিগত রেপো সম্ভব হলে কৌতূহল, যেমন নেক্সাস / মাভেনের মতো। গুগলে কিছুই আসে না :(
উত্তর:
এটি করার কোনও সহজ উপায় আছে বলে আমি মনে করি না।
একজন npm ডকুমেন্টেশন তাকান আমাদের বলে, যে এটা সম্ভব হল:
আমি কি নিজের ব্যক্তিগত রেজিস্ট্রি চালাতে পারি?
হ্যাঁ!
সবচেয়ে সহজ উপায় হল পালঙ্ক ডাটাবেসটির প্রতিলিপি তৈরি করা এবং API গুলি বাস্তবায়নের জন্য একই (বা অনুরূপ) ডিজাইন ডক ব্যবহার করা।
আপনি যদি অফিসিয়াল কাউচডিবি থেকে অবিচ্ছিন্ন প্রতিলিপি সেট আপ করেন এবং তারপরে আপনার অভ্যন্তরীণ কাউচডিবিটিকে রেজিস্ট্রি কনফিগারেশন হিসাবে সেট করেন তবে আপনি আপনার ব্যক্তিগতগুলি ছাড়াও কোনও প্রকাশিত প্যাকেজগুলি পড়তে সক্ষম হবেন এবং ডিফল্টরূপে কেবল অভ্যন্তরীণভাবে প্রকাশিত হবে। এরপরে আপনি যদি পুরো বিশ্বটিকে দেখার জন্য একটি প্যাকেজ প্রকাশ করতে চান তবে আপনি কেবলমাত্র
--registry
সেই কমান্ডের জন্য কনফিগারটিকে ওভাররাইড করতে পারেন ।
ক্লক ব্লগে কীভাবে একটি বেসরকারী এনপিএম সংগ্রহস্থল তৈরি করবেন সে সম্পর্কে একটি দুর্দান্ত টিউটোরিয়াল রয়েছে ।
সম্পাদনা (2017-02-26):
আসলেই নতুন নয়, তবে এখন এনপিএমে ব্যক্তিগত প্যাকেজ হোস্ট করার জন্য অর্থ প্রদানের পরিকল্পনা রয়েছে ।
কয়েক বছর ধরে, এনপিএম অনেকগুলি নন-নোড.জেএস সংস্থার জন্যও একটি উপাদান হয়ে দাঁড়িয়েছে, এনপিএমের উপরে নির্মিত বিশাল ফ্রন্টএন্ড ইকোসিস্টেমের মাধ্যমে। যদি আপনার সংস্থাটি ইতিমধ্যে অভ্যন্তরীণভাবে জাভা প্রকল্পগুলি হোস্ট করার জন্য সোনাটাইপ নেক্সাস চালাচ্ছে , আপনি অভ্যন্তরীণ এনপিএম প্যাকেজ হোস্ট করার জন্যও এটি ব্যবহার করতে পারেন।
অন্যান্য বিকল্পগুলির মধ্যে জেফ্রোগ আর্টফ্যাক্টরি এবং ইনিয়েডো প্রোগেট অন্তর্ভুক্ত রয়েছে , তবে আমি সেগুলি ব্যবহার করি নি।
https://github.com/isaacs/npmjs.org/ : এনপিএম সংস্করণ v1.0.26 এ আপনি আপনার প্যাকেজ.জসন ফাইলগুলিতে নির্ভরতা হিসাবে ব্যক্তিগত গিট সংগ্রহস্থল url উল্লেখ করতে পারেন। আমি এটি ব্যবহার করি নি তবে প্রতিক্রিয়াটি পছন্দ করব। এখানেই সব পাবেন আপনি যা করতে চান:
{
"name": "my-app",
"dependencies": {
"private-repo": "git+ssh://git@yourgitserver.com:my-app.git#v0.0.1",
}
}
নিম্নলিখিত পোস্টটি এ সম্পর্কে আলোচনা করে: ডিবাজিযোগ্য: ব্যক্তিগত এনপিএম মডিউল
এটি করার জন্য এনপিএম প্যাকেজটি ব্যবহার করা সহজ। https://www.npmjs.org/package/sinopia
সংক্ষেপে, সিনোপিয়া হ'ল একটি ব্যক্তিগত / ক্যাচিং এনএমপি রিপোজিটরি সার্ভার যা আপনি শূন্য কনফিগারেশন সহ সেটআপ করতে পারেন।
সিনোপিয়া ব্যবহার করা যেতে পারে:
ভার্ডাকাসিও আমি যা খুঁজছিলাম এবং এটি তার নিজের উত্তরের দাবিদার;) এটি সাইনোপিয়া একটি সক্রিয়ভাবে রক্ষণাবেক্ষণযোগ্য কাঁটাচামচ ( এখানে অত্যন্ত উত্সাহিত উত্তর )। এটি এনপিএম প্যাকেজ হিসাবে এনপিএম রেজিস্ট্রি , এবং এটি পাওয়া যায়
এখানে: 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) এ, এনপিএম প্রাইভেট মডিউলগুলি প্রবর্তিত হয়েছিল।
আপনি ব্যক্তিগত মডিউলগুলির জন্য অর্থ প্রদান করার সময়, আপনি এটি করতে পারেন:
- আপনি চান হিসাবে অনেক ব্যক্তিগত প্যাকেজ হোস্ট করুন
- অন্য যে কোনও প্রদেয় ব্যবহারকারীকে সেই প্যাকেজগুলির জন্য পঠন অ্যাক্সেস বা পঠন-লেখার অ্যাক্সেস দিন
- অন্যান্য অর্থপ্রদানকারী ব্যবহারকারীরা আপনাকে যে কোনও প্যাকেজ পড়ার অ্যাক্সেস দিয়েছে তা ইনস্টল করুন এবং ব্যবহার করুন
- অন্যান্য অর্থপ্রদানকারী ব্যবহারকারীরা আপনাকে যে লেখাতে অ্যাক্সেস দিয়েছিল তা যে প্যাকেজগুলিতে সহযোগিতা করুন
অবশ্যই এটি নিখরচায় নয় - বর্তমানে প্রতি মাসে 7 ডলার user
এবং এটি এখনও একটি দুর্দান্ত নতুন পরিষেবা। উদাহরণস্বরূপ, সংস্থা অ্যাকাউন্টগুলির জন্য সমর্থন অনুপস্থিত (জুন ২০১৫ পর্যন্ত):
বর্তমানে, ব্যক্তিগত প্যাকেজগুলি শুধুমাত্র পৃথক ব্যবহারকারীদের জন্য উপলব্ধ, তবে সংস্থার অ্যাকাউন্টগুলির জন্য সমর্থন শীঘ্রই আসবে। ইতিমধ্যে আপনার সংস্থার জন্য কোনও ব্যবহারকারী তৈরি করতে দ্বিধা বোধ করবেন এবং সমর্থন এখানে উপস্থিত থাকলে আমরা এটিকে কোনও সংস্থায় আপগ্রেড করতে পারি।
সুতরাং নিখুঁত না হলেও, এটি ব্যক্তিগত প্যাকেজগুলি বজায় রাখার আনুষ্ঠানিক এনপিএম সমাধান এবং এটি নিজেই এটি উল্লেখযোগ্য করে তোলে।
হালনাগাদ
এনএমপি প্রাইভেট প্যাকেজগুলি এখন পৃথক ব্যবহারকারী এবং সংস্থা উভয়ের জন্য পরিকল্পনা সহ উপলব্ধ :
- সীমাহীন সংখ্যক সরকারী ও ব্যক্তিগত প্যাকেজ
- $ 7 / মাস / ডেভেলপার
- প্রতিষ্ঠানের নামের উপর ভিত্তি করে একটি স্কোপের নাম অন্তর্ভুক্ত করে
- @ Org-name / foo- এ প্রকাশ ও নিয়ন্ত্রণ অ্যাক্সেস করুন
(অস্বীকৃতি: এমনকি এনপিএম, ইনক। এর সাথে কোনওভাবেই দূরবর্তীভাবে অনুমোদিত নয় )
আমার ধারণা এই থ্রেডটির একটি আপডেট দরকার। আপনি যে এনপিএম রেজিস্ট্রেশনগুলি উপলভ্য রয়েছে তার কোনওটি যদি দেখেন তবে সেগুলি অত্যন্ত ভারী এবং তাদের পালঙ্ক দরকার d জেমফুরি এবং অন্যদের আপনার পাবলিক ভান্ডার থেকে কাঁটাচামচ করা দরকার। এনপিএমের মতো কয়েকটি ছায়া-এনপিএম এর সাম্প্রতিক কমিট নেই ।
তারপরে, আমরা রেজি খুঁজে পেলাম । এটি একটি ভাল প্রতিশ্রুতিবদ্ধ ক্রিয়াকলাপ পেয়েছে, এটি ইনস্টল করা এবং ব্যবহার করা অত্যন্ত সহজ এবং খুব ভাল সম্প্রদায় সমর্থন । এটি অত্যন্ত হালকা ওজন এবং আপনার কাউচডিবি ইত্যাদি মোকাবেলা করতে হবে না
আমি যদি আপনার প্রশ্নটি ভালভাবে না বুঝতে পারি তবে আমাকে ক্ষমা করুন, তবে এখানে আমার উত্তর:
আপনি একটি প্রাইভেট এনপিএম মডিউল তৈরি করতে পারেন এবং এটি ইনস্টল করতে এনএমপি-র সাধারণ কমান্ড ব্যবহার করতে পারেন। বেশিরভাগ নোড.জে ব্যবহারকারীরা গিটকে তাদের সংগ্রহস্থল হিসাবে ব্যবহার করেন তবে আপনার জন্য রপোজিটরি যা কাজ করে তা আপনি ব্যবহার করতে পারেন।
আপনার প্যাকেজটি তৈরি হয়ে গেলে, ব্যবহার করুন
এনপিএম ইনস্টল * তারবাল_আরল *
পার্টিতে কিছুটা দেরি হলেও নোডজেএস (আমার ধারণা 14 নভেম্বর) কর্পোরেট এনপিএম সংগ্রহস্থলগুলিকে সমর্থন করে - আপনি তাদের অফিসিয়াল সাইটে আরও জানতে পারেন ।
একটি অভিশাপ নজরে এটি প্রদর্শিত হবে যে এনপিএমই এনপিএম রিপোজিটরিটির ফল-মাধ্যমে মিররিংয়ের অনুমতি দেয় - অর্থাৎ এটি যদি আপনার অভ্যন্তরীণ কোনওটিতে খুঁজে না পায় তবে এটি আসল এনপিএম সংগ্রহস্থলে প্যাকেজগুলি সন্ধান করবে । খুব দরকারী বলে মনে হচ্ছে!
এনপিএম এন্টারপ্রাইজ আপনার সংস্থাতে এনপিএম এবং পাবলিক এনপিএম রেজিস্ট্রি বজায় রাখে এমন দল থেকে নিরাপদে আপনার প্রতিষ্ঠানের মধ্যে জাভাস্ক্রিপ্ট মডিউলগুলি ভাগ করে নেওয়ার ও বিতরণ করার জন্য একটি অন-প্রিমেস সমাধান। এটি এমন দলের জন্য ডিজাইন করা হয়েছে যা প্রয়োজন:
প্রাইভেট মডিউলগুলির সহজ অভ্যন্তরীণ ভাগাভাগি উন্নয়নের উন্নতি এবং স্থাপনার কার্যপ্রবাহের কঠোর সুরক্ষার চারপাশে ওপেন-সোর্স মডিউলগুলি স্থাপনের আশেপাশে কোডের অভ্যন্তরীণ কোডের আইনি প্রয়োজনীয়তার সাথে সম্মতিতে এনপিএম প্রাইভেট এনপিএম
এনপিএমই হ'ল একটি এনএমপি রেজিস্ট্রি যা আপনি ইতিমধ্যে ব্যবহার করেন এমন একই স্ট্যান্ডার্ড এনপিএম ক্লায়েন্টের সাথে কাজ করে তবে বৃহত্তর সংস্থাগুলির জন্য প্রয়োজনীয় বৈশিষ্ট্য সরবরাহ করে যারা এখন উত্সাহের সাথে নোড গ্রহণ করছে। এটি এনএমপি, ইনক। দ্বারা নির্মিত, এনএমপি ওপেন সোর্স প্রকল্পের পৃষ্ঠপোষক এবং পাবলিক এনপিএম রেজিস্ট্রিটির হোস্ট।
দুর্ভাগ্যক্রমে, এটি নিখরচায় নয়। আপনি একটি পরীক্ষা পেতে পারেন, তবে এটি কমারিকাল সফ্টওয়্যার। এটি একক বিকাশকারীদের পক্ষে এতটা দুর্দান্ত কিছু নয় তবে আপনি যদি একক বিকাশকারী হন তবে আপনার গিটহাব রয়েছে :-)
এই পোস্টে একটি বেসরকারী রেজিস্ট্রি সেটআপ করার বিষয়ে কথা বলা হয়েছে
নিম্নলিখিত কমান্ডটি ব্যবহার করে এনপিএমজেএস.আর.জি.
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
কমান্ডটিতে আছে তা নোট করুন , এটি কাউচডিবি'র _ পরিবর্তনগুলি এপিআই ব্যবহার করে এবং যখন এই এপিআইটি জানানো হবে তখন কোনও নতুন পরিবর্তন আনবে।
আপনি যদি কখনও এই অনুলিপিগুলি বন্ধ করতে চান তবে আপনি সহজেই যুক্ত করতে পারেন "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"
তারপরে এনপিএম ইনস্টল করার জন্য এনএমপিজেএস.আর.আর্গ.আর রিডমে যান (নিশ্চিত হন 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
আমি পার্টিতে কিছুটা দেরি করতে পারি তবে এই দু'জনের যে কোনও একটি আপনার পক্ষে কাজ করতে পারে:
আপনি যদি বিকেন্দ্রীভূত পদ্ধতির পছন্দ করেন তবে আপনি আরাগন প্যাকেজ ম্যানেজারও ব্যবহার করতে পারেন: