আপনি কি এনপিএম সহ আপনার সংস্থার জন্য একটি ব্যক্তিগত সংগ্রহস্থল হোস্ট করতে পারেন?


219

কোনও সংস্থার মধ্যে এনএমপি ব্যবহার করার জন্য দুর্দান্ত প্ল্যাটফর্মের মতো শোনাচ্ছে, কোনও ব্যক্তিগত রেপো সম্ভব হলে কৌতূহল, যেমন নেক্সাস / মাভেনের মতো। গুগলে কিছুই আসে না :(


1
নীচে বেশ ঝরঝরে ডকুমেন্টেশন দেওয়া আছে, কীভাবে এটি করবেন: ড়ির ডটকম।
ramesh.mimit

2
নোট করুন যে ক্লক.কম.উইক পোস্টটি এনপিএম রেজিস্ট্রিটির সম্পূর্ণ নকল। আপনার প্রয়োজনীয় নির্ভরতাগুলির স্থানীয় ক্যাশের জন্য, আমি যে সেরা সমাধানটি পেয়েছি তা হ'ল এনপিএম_লজিআমার কাঁটাচামড়ার ডকটি অনুসরণ করা কিছুটা সহজ হতে পারে।
জ্যাক বার্গার

1
আমি জানি যে আলোচনায় আমি কিছুটা দেরি করেছি, তবে আমি কেবল এটি যুক্ত করতে চাই যে আমরা সম্প্রতি আমাদের (ফ্রি) প্রোডাক্টের জন্য প্রাইভেট এনপিএম রেজিস্ট্রি সমর্থন যুক্ত করেছি
কার্ল হারনাগি

2
নীচে উল্লিখিত হিসাবে, Nexus এখন হোস্ট করা এবং প্রক্সি এনএমপি রেপো সমর্থন করে।
জ্যাক থম্পসন

8
কয়েক বছর ধরে সেখানে অনেকগুলি বিকল্প উপলব্ধ রয়েছে। কেহ এই ফিরে আসছে সব উত্তর পড়া এবং করা উচিত নয় শুধু একটা আমি 2011 গৃহীত
আদম

উত্তর:


100

এটি করার কোনও সহজ উপায় আছে বলে আমি মনে করি না।

একজন npm ডকুমেন্টেশন তাকান আমাদের বলে, যে এটা সম্ভব হল:

আমি কি নিজের ব্যক্তিগত রেজিস্ট্রি চালাতে পারি?

হ্যাঁ!

সবচেয়ে সহজ উপায় হল পালঙ্ক ডাটাবেসটির প্রতিলিপি তৈরি করা এবং API গুলি বাস্তবায়নের জন্য একই (বা অনুরূপ) ডিজাইন ডক ব্যবহার করা।

আপনি যদি অফিসিয়াল কাউচডিবি থেকে অবিচ্ছিন্ন প্রতিলিপি সেট আপ করেন এবং তারপরে আপনার অভ্যন্তরীণ কাউচডিবিটিকে রেজিস্ট্রি কনফিগারেশন হিসাবে সেট করেন তবে আপনি আপনার ব্যক্তিগতগুলি ছাড়াও কোনও প্রকাশিত প্যাকেজগুলি পড়তে সক্ষম হবেন এবং ডিফল্টরূপে কেবল অভ্যন্তরীণভাবে প্রকাশিত হবে। এরপরে আপনি যদি পুরো বিশ্বটিকে দেখার জন্য একটি প্যাকেজ প্রকাশ করতে চান তবে আপনি কেবলমাত্র --registryসেই কমান্ডের জন্য কনফিগারটিকে ওভাররাইড করতে পারেন ।

ক্লক ব্লগে কীভাবে একটি বেসরকারী এনপিএম সংগ্রহস্থল তৈরি করবেন সে সম্পর্কে একটি দুর্দান্ত টিউটোরিয়াল রয়েছে ।

সম্পাদনা (2017-02-26):

আসলেই নতুন নয়, তবে এখন এনপিএমে ব্যক্তিগত প্যাকেজ হোস্ট করার জন্য অর্থ প্রদানের পরিকল্পনা রয়েছে

কয়েক বছর ধরে, এনপিএম অনেকগুলি নন-নোড.জেএস সংস্থার জন্যও একটি উপাদান হয়ে দাঁড়িয়েছে, এনপিএমের উপরে নির্মিত বিশাল ফ্রন্টএন্ড ইকোসিস্টেমের মাধ্যমে। যদি আপনার সংস্থাটি ইতিমধ্যে অভ্যন্তরীণভাবে জাভা প্রকল্পগুলি হোস্ট করার জন্য সোনাটাইপ নেক্সাস চালাচ্ছে , আপনি অভ্যন্তরীণ এনপিএম প্যাকেজ হোস্ট করার জন্যও এটি ব্যবহার করতে পারেন।

অন্যান্য বিকল্পগুলির মধ্যে জেফ্রোগ আর্টফ্যাক্টরি এবং ইনিয়েডো প্রোগেট অন্তর্ভুক্ত রয়েছে , তবে আমি সেগুলি ব্যবহার করি নি।


201

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",
    }
}

নিম্নলিখিত পোস্টটি এ সম্পর্কে আলোচনা করে: ডিবাজিযোগ্য: ব্যক্তিগত এনপিএম মডিউল


3
এটা একটি বড় বৈশিষ্ট্য, কিন্তু আমি কারণ আমি একটি সম্পূর্ণ NPM রেপো হোস্টিং, একটি লা সম্পর্কে জিজ্ঞাসা ছিল pvorb এর গৃহীত একটি অভ্যন্তরীণ ম্যাভেন রেপো
আদম

2
দ্রষ্টব্য: এনপিএম বর্তমানে এই গিট ইউআরএলগুলির সাথে উদাহরণস্বরূপ কোনও সংস্করণ পরিসর (উদাহরণস্বরূপ 1.2.x বা ^ 1.2.3) সমর্থন করে না। github.com/npm/npm/issues/3328
ক্লে

@ ক্লে, আপনি ঠিক কোনও ট্যাগ (v0.0.1) নির্দিষ্ট করতে পারেন?
mcha

হ্যাঁ, আপনি একটি সঠিক ট্যাগ করতে পারেন।
ক্লে

ব্যক্তিগত ভাণ্ডারে অনুমোদনের জন্য কি গিটহাব মোতায়েন কী ব্যবহার করার কোনও উপায় আছে?
সানকনুডসেন

91

এটি করার জন্য এনপিএম প্যাকেজটি ব্যবহার করা সহজ। https://www.npmjs.org/package/sinopia

সংক্ষেপে, সিনোপিয়া হ'ল একটি ব্যক্তিগত / ক্যাচিং এনএমপি রিপোজিটরি সার্ভার যা আপনি শূন্য কনফিগারেশন সহ সেটআপ করতে পারেন।

সিনোপিয়া ব্যবহার করা যেতে পারে:

  • জনসাধারণের কাছে তা প্রকাশ না করেই নিজস্ব বেসরকারী প্যাকেজগুলি প্রকাশ করুন
  • কেবলমাত্র সর্বজনীন প্যাকেজগুলি ক্যাশে করা হয় (পুরো পাবলিক রেজিস্ট্রিটি প্রতিলিপি করার দরকার নেই)
  • অভ্যন্তরীণভাবে উত্পাদিত পরিবর্তিত সংস্করণ দিয়ে সর্বজনীন প্যাকেজগুলি ওভাররাইড করুন।

13
সিনোপিয়া মনে হয় আর রক্ষণাবেক্ষণ করা হয় না। শেষ প্রতিশ্রুতি আজ (7 মার্চ 2016) হিসাবে 8 মাস আগে শেষ হয়েছিল। এটি দুর্দান্ত দেখায় এবং ভালভাবে কাজ করে তবে রক্ষণাবেক্ষণের দিকে সতর্ক হন।
রায় বুয়েসন

45
রায়ডসিওও পরীক্ষা করে দেখুন । এটি এর সক্রিয়ভাবে রক্ষণাবেক্ষণযোগ্য কাঁটাচামচ: github.com/verdaccio/verdaccio
রোটেরেটি

1
রায়ডাসিও কি কোনও "ব্যক্তিগত-ব্যক্তিগত" কনফিগারেশন সমর্থন করে, যেখানে এটি কোনও পাবলিক রেজিস্ট্রি সম্পর্কে জিজ্ঞাসাবাদ করবে না?
মার্কাসচেবার

1
@ মার্কসচ্যাবার আপনি অন্য রেজিস্ট্রিগুলিতে প্রক্সি অক্ষম করতে পারবেন। প্রক্সি নেটওয়ার্কে অ্যাক্সেস করার চেষ্টা করলেও এটি অফলাইন মোডে কাজ করে।
জুয়ান পিকাদো

1
আমি সত্যিই জিনিস Verdaccio এটা নিজস্ব উত্তর আজ দাবী stackoverflow.com/a/50815174/336753 আমি এমনকি মন্তব্য এখানে প্রথম খেয়ালই করেন নি।
kub1x

40

ভার্ডাকাসিও আমি যা খুঁজছিলাম এবং এটি তার নিজের উত্তরের দাবিদার;) এটি সাইনোপিয়া একটি সক্রিয়ভাবে রক্ষণাবেক্ষণযোগ্য কাঁটাচামচ ( এখানে অত্যন্ত উত্সাহিত উত্তর )। এটি এনপিএম প্যাকেজ হিসাবে এনপিএম রেজিস্ট্রি , এবং এটি পাওয়া যায়

এখানে: 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


2
এই! আপনাকে ধন্যবাদ -> ডকার রান -আইআরএম --ডেটাচ
নাম

1
@ এমডব্লিউ আপনাকে ধন্যবাদ তালিকায় ডকার সংস্করণ যুক্ত হয়েছে।
kub1x

28

14 এপ্রিল (2015) এ, এনপিএম প্রাইভেট মডিউলগুলি প্রবর্তিত হয়েছিল।

আপনি ব্যক্তিগত মডিউলগুলির জন্য অর্থ প্রদান করার সময়, আপনি এটি করতে পারেন:

  • আপনি চান হিসাবে অনেক ব্যক্তিগত প্যাকেজ হোস্ট করুন
  • অন্য যে কোনও প্রদেয় ব্যবহারকারীকে সেই প্যাকেজগুলির জন্য পঠন অ্যাক্সেস বা পঠন-লেখার অ্যাক্সেস দিন
  • অন্যান্য অর্থপ্রদানকারী ব্যবহারকারীরা আপনাকে যে কোনও প্যাকেজ পড়ার অ্যাক্সেস দিয়েছে তা ইনস্টল করুন এবং ব্যবহার করুন
  • অন্যান্য অর্থপ্রদানকারী ব্যবহারকারীরা আপনাকে যে লেখাতে অ্যাক্সেস দিয়েছিল তা যে প্যাকেজগুলিতে সহযোগিতা করুন

অবশ্যই এটি নিখরচায় নয় - বর্তমানে প্রতি মাসে 7 ডলার user

এবং এটি এখনও একটি দুর্দান্ত নতুন পরিষেবা। উদাহরণস্বরূপ, সংস্থা অ্যাকাউন্টগুলির জন্য সমর্থন অনুপস্থিত (জুন ২০১৫ পর্যন্ত):

বর্তমানে, ব্যক্তিগত প্যাকেজগুলি শুধুমাত্র পৃথক ব্যবহারকারীদের জন্য উপলব্ধ, তবে সংস্থার অ্যাকাউন্টগুলির জন্য সমর্থন শীঘ্রই আসবে। ইতিমধ্যে আপনার সংস্থার জন্য কোনও ব্যবহারকারী তৈরি করতে দ্বিধা বোধ করবেন এবং সমর্থন এখানে উপস্থিত থাকলে আমরা এটিকে কোনও সংস্থায় আপগ্রেড করতে পারি।

সুতরাং নিখুঁত না হলেও, এটি ব্যক্তিগত প্যাকেজগুলি বজায় রাখার আনুষ্ঠানিক এনপিএম সমাধান এবং এটি নিজেই এটি উল্লেখযোগ্য করে তোলে।

হালনাগাদ

এনএমপি প্রাইভেট প্যাকেজগুলি এখন পৃথক ব্যবহারকারী এবং সংস্থা উভয়ের জন্য পরিকল্পনা সহ উপলব্ধ :

  • সীমাহীন সংখ্যক সরকারী ও ব্যক্তিগত প্যাকেজ
  • $ 7 / মাস / ডেভেলপার
  • প্রতিষ্ঠানের নামের উপর ভিত্তি করে একটি স্কোপের নাম অন্তর্ভুক্ত করে
  • @ Org-name / foo- এ প্রকাশ ও নিয়ন্ত্রণ অ্যাক্সেস করুন

(অস্বীকৃতি: এমনকি এনপিএম, ইনক। এর সাথে কোনওভাবেই দূরবর্তীভাবে অনুমোদিত নয় )


20

বেসরকারী এনপিএম নিবন্ধগুলির জন্য সমর্থন সহ সংগ্রহস্থল পরিচালকদের:


4
কেবল অর্থ প্রদানের সংস্করণগুলি এনপিএম সংগ্রহস্থলগুলিকে সমর্থন করে; বিনামূল্যে সংস্করণ না।
বুন 13

12
সোনাটাইপ নেক্সাস 3.0 এর ফ্রি সংস্করণটি আসলে এনপিএম রেপোকে সমর্থন করে (বোভার এবং ডকার রেপো সহ)।
n8n8 বাবি

10

আমার ধারণা এই থ্রেডটির একটি আপডেট দরকার। আপনি যে এনপিএম রেজিস্ট্রেশনগুলি উপলভ্য রয়েছে তার কোনওটি যদি দেখেন তবে সেগুলি অত্যন্ত ভারী এবং তাদের পালঙ্ক দরকার d জেমফুরি এবং অন্যদের আপনার পাবলিক ভান্ডার থেকে কাঁটাচামচ করা দরকার। এনপিএমের মতো কয়েকটি ছায়া-এনপিএম এর সাম্প্রতিক কমিট নেই

তারপরে, আমরা রেজি খুঁজে পেলাম । এটি একটি ভাল প্রতিশ্রুতিবদ্ধ ক্রিয়াকলাপ পেয়েছে, এটি ইনস্টল করা এবং ব্যবহার করা অত্যন্ত সহজ এবং খুব ভাল সম্প্রদায় সমর্থন । এটি অত্যন্ত হালকা ওজন এবং আপনার কাউচডিবি ইত্যাদি মোকাবেলা করতে হবে না


9

আমি যদি আপনার প্রশ্নটি ভালভাবে না বুঝতে পারি তবে আমাকে ক্ষমা করুন, তবে এখানে আমার উত্তর:

আপনি একটি প্রাইভেট এনপিএম মডিউল তৈরি করতে পারেন এবং এটি ইনস্টল করতে এনএমপি-র সাধারণ কমান্ড ব্যবহার করতে পারেন। বেশিরভাগ নোড.জে ব্যবহারকারীরা গিটকে তাদের সংগ্রহস্থল হিসাবে ব্যবহার করেন তবে আপনার জন্য রপোজিটরি যা কাজ করে তা আপনি ব্যবহার করতে পারেন।

  1. আপনার প্রকল্পে আপনি একটি এনপিএম প্যাকেজটির কঙ্কাল চাইবেন। বেশিরভাগ নোড মডিউলগুলির গিট সংগ্রহস্থল রয়েছে যেখানে আপনি এনপিএমের সাথে কীভাবে সংহত করতে পারেন তা দেখতে পারেন (প্যাকেজ.জসন ফাইল, আমি বিশ্বাস করি এটির একটি অংশ এবং এনপিএমের ওয়েবসাইট আপনাকে এনপিএম প্যাকেজ কীভাবে তৈরি করবেন তা আপনাকে দেখায়)
  2. ইন্টারনেট বা আপনার নেটওয়ার্ক থেকে এনপিএম ইনস্টল ডাউনলোডের জন্য এটি স্টেজ করার জন্য আপনার প্যাকেজটি তৈরি করতে এবং টার্বল করার মতো কিছু ব্যবহার করুন।
  3. আপনার প্যাকেজটি তৈরি হয়ে গেলে, ব্যবহার করুন

    এনপিএম ইনস্টল * তারবাল_আরল *


5
আপনি তাঁর প্রশ্নটি পান নি, তবে উত্তরটি আমার পক্ষে খুব কার্যকর! :)
এডুয়ার্ডো কোস্টা

7

এটি আমার জানা সবচেয়ে সহজ উপায় - এটি মেঘে জেমফুরি প্রাইভেট এনএমপি রেজিস্ট্রি দিয়ে হোস্ট করুন ।

এটি বিনামূল্যে এবং আপনি আপনার গিথুব অ্যাকাউন্ট দিয়ে লগ ইন করতে পারেন। এটি আপনার নিজস্ব ডেটাবেস সেট আপ করার তুলনায় আপনার অনেক সময় সাশ্রয় করবে।


এটি নিখরচায় নয়।
I.Tyger

6

আমরা সোনাইটাইপ নেক্সাস ব্যবহার করছি, সংস্করণটি হ'ল নেক্সাস রেপোজিটরি ম্যানেজারসএসএস 3.6.1-02। এবং আমি নিশ্চিত যে এটি এনপিএমের ব্যক্তিগত সংগ্রহস্থল সমর্থন করে এবং প্যাকেজকে ক্যাশে করেছে।

এখানে চিত্র বর্ণনা লিখুন


5

পার্টিতে কিছুটা দেরি হলেও নোডজেএস (আমার ধারণা 14 নভেম্বর) কর্পোরেট এনপিএম সংগ্রহস্থলগুলিকে সমর্থন করে - আপনি তাদের অফিসিয়াল সাইটে আরও জানতে পারেন ।

একটি অভিশাপ নজরে এটি প্রদর্শিত হবে যে এনপিএমই এনপিএম রিপোজিটরিটির ফল-মাধ্যমে মিররিংয়ের অনুমতি দেয় - অর্থাৎ এটি যদি আপনার অভ্যন্তরীণ কোনওটিতে খুঁজে না পায় তবে এটি আসল এনপিএম সংগ্রহস্থলে প্যাকেজগুলি সন্ধান করবে । খুব দরকারী বলে মনে হচ্ছে!

এনপিএম এন্টারপ্রাইজ আপনার সংস্থাতে এনপিএম এবং পাবলিক এনপিএম রেজিস্ট্রি বজায় রাখে এমন দল থেকে নিরাপদে আপনার প্রতিষ্ঠানের মধ্যে জাভাস্ক্রিপ্ট মডিউলগুলি ভাগ করে নেওয়ার ও বিতরণ করার জন্য একটি অন-প্রিমেস সমাধান। এটি এমন দলের জন্য ডিজাইন করা হয়েছে যা প্রয়োজন:

প্রাইভেট মডিউলগুলির সহজ অভ্যন্তরীণ ভাগাভাগি উন্নয়নের উন্নতি এবং স্থাপনার কার্যপ্রবাহের কঠোর সুরক্ষার চারপাশে ওপেন-সোর্স মডিউলগুলি স্থাপনের আশেপাশে কোডের অভ্যন্তরীণ কোডের আইনি প্রয়োজনীয়তার সাথে সম্মতিতে এনপিএম প্রাইভেট এনপিএম

এনপিএমই হ'ল একটি এনএমপি রেজিস্ট্রি যা আপনি ইতিমধ্যে ব্যবহার করেন এমন একই স্ট্যান্ডার্ড এনপিএম ক্লায়েন্টের সাথে কাজ করে তবে বৃহত্তর সংস্থাগুলির জন্য প্রয়োজনীয় বৈশিষ্ট্য সরবরাহ করে যারা এখন উত্সাহের সাথে নোড গ্রহণ করছে। এটি এনএমপি, ইনক। দ্বারা নির্মিত, এনএমপি ওপেন সোর্স প্রকল্পের পৃষ্ঠপোষক এবং পাবলিক এনপিএম রেজিস্ট্রিটির হোস্ট।

দুর্ভাগ্যক্রমে, এটি নিখরচায় নয়। আপনি একটি পরীক্ষা পেতে পারেন, তবে এটি কমারিকাল সফ্টওয়্যার। এটি একক বিকাশকারীদের পক্ষে এতটা দুর্দান্ত কিছু নয় তবে আপনি যদি একক বিকাশকারী হন তবে আপনার গিটহাব রয়েছে :-)


3

এই পোস্টে একটি বেসরকারী রেজিস্ট্রি সেটআপ করার বিষয়ে কথা বলা হয়েছে

  • আপনার সিস্টেমে কাউচডিবি ইনস্টল করা আছে তা নিশ্চিত করুন
  • নিম্নলিখিত কমান্ডটি ব্যবহার করে এনপিএমজেএস.আর.জি.

    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 

1
Url isaacs.iriscouch.com/registry দুর্ভাগ্যক্রমে এখন মারা গেছে। আমি এটিকে skimdb.npmjs.com/registry এ পরিবর্তনের চেষ্টা করেছি যা প্রথমে কাজ করছে বলে মনে হচ্ছে তবে এটি কেবল রেজিস্ট্রি
সূচকটিই

Couchapp রিডমি রাজ্যের couchapp এখন ধরণ নিন্দা করা হয়েছে, কিন্তু এটি বলছেন বর্তমান উপায় সমগ্র রেজিস্ট্রি মিরর করতে ব্যবহার করা যে npm-fullfat-রেজিস্ট্রি
fuzzyTew

আমি এটির জন্য স্ট্যাটিক-রেজিস্ট্রি ব্যবহার করে শেষ করেছি , যা কাউচডিবি সমাধানগুলির বিপরীতে কোনও কনফিগারেশন প্রয়োজন নেই।
fuzzyTew


0

আপনি যদি বিকেন্দ্রীভূত পদ্ধতির পছন্দ করেন তবে আপনি আরাগন প্যাকেজ ম্যানেজারও ব্যবহার করতে পারেন:

  1. এপিএম ব্যবহার করুন: http://blog.aragon.one/using-apm-to-replace-npm-and-other- কেন্দ্রীভূত- প্যাকেজ- ম্যানেজার /
  2. এপিএম মোতায়েন করছে: https://github.com/aragon/aragonOS#apm
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.