এনপিএম নির্ভরতা হিসাবে ব্যক্তিগত গিথুব রেপো কীভাবে ব্যবহার করবেন


203

আমি কিভাবে একটি ব্যক্তিগত গিটহাব রেপো তালিকা করতে "dependency"package.json? আমি এনপিএমের গিথুব ইউআরএলগুলির সিনট্যাক্সের মতো চেষ্টা করেছি ryanve/example, তবে npm installপ্যাকেজ ফোল্ডারে করলে ব্যক্তিগত নির্ভরতার জন্য ত্রুটিগুলি "ইনস্টল করতে পারেনি" দেয়। বেসরকারী ভাণ্ডারের উপর নির্ভর করে কোনও বিশেষ বাক্য গঠন (বা অন্য কোনও প্রক্রিয়া) রয়েছে?

উত্তর:


284

এটি https এবং ওউথ বা এসএসএসের মাধ্যমে করা যেতে পারে ।

https এবং oauth: একটি অ্যাক্সেস টোকেন তৈরি করুন যার "রেপো" সুযোগ রয়েছে এবং তারপরে এই বাক্য গঠনটি ব্যবহার করুন :

"package-name": "git+https://<github_token>:x-oauth-basic@github.com/<user>/<repo>.git"

অথবা

ssh: সেটআপ সেট করুন এবং তারপরে এই বাক্য গঠনটি ব্যবহার করুন:

"package-name": "git+ssh://git@github.com:<user>/<repo>.git"

(ব্যবহারকারীর সামনে স্ল্যাশের পরিবর্তে কোলনের ব্যবহার নোট করুন)


19
বা যদি আপনি "<package>": "git+ssh://git@github.com/<user>/<repo>.git
গিথুবে এসএস

3
সর্বশেষতম প্রকাশে কীভাবে আপনি এটি রাখবেন?
এসআইআর কোডালট

24
শেষ পর্যন্ত # মাস্টার যুক্ত করুন
জেসমিন হেগম্যান

4
"package-name": "git+https://<github_token>:x-oauth-basic@github.com/<user>/<repo>.git"আমার জন্য কাজ করে না। আশ্চর্যজনকভাবে টোকেন ও এক্স-অউথ-বেসিকটি স্যুইচিং কাজটি করেছে। সুতরাং, "package-name": "git+https://x-oauth-basic:<github_token>@github.com/<user>/<repo>.git"আমার জন্য কাজ করে। দয়া করে মনে রাখবেন যে আমি গিতল্যাবে আছি, গিথুব নয়
মিসানট্রনিক

2
ব্যবহারকারীর নাম হিসাবে ওভার httpsলাগানো x-oauth-basicপ্রয়োজনীয় নয়: "package-name": "git+https://<github_token>@github.com/<user>/<repo>.git"পাশাপাশি কাজ করে।
কদম

25

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

$ npm install --save-dev https://git.yourdomain.com/userOrGroup/gitLabProjectName/repository/archive.tar.gz?private_token=InsertYourAccessTokenHere

অবশ্যই, যদি কেউ এইভাবে একটি অ্যাক্সেস কী ব্যবহার করে থাকে তবে এর সীমিত অনুমতি থাকা উচিত।

শুভকামনা!


8

গিটের সাথে একটি https ফর্ম্যাট রয়েছে

https://github.com/equivalent/we_demand_serverless_ruby.git

এই ফর্ম্যাটটি ব্যবহারকারী + পাসওয়ার্ড গ্রহণ করে

https://bot-user:xxxxxxxxxxxxxxxxxxxxxxxxxxx@github.com/equivalent/we_demand_serverless_ruby.git

সুতরাং আপনি যা করতে পারেন তা হ'ল একটি নতুন ব্যবহারকারী তৈরি করুন যা কেবল বট হিসাবে ব্যবহৃত হবে , কেবলমাত্র পর্যাপ্ত অনুমতি যুক্ত করুন যা তিনি কেবলমাত্র এনপিএম মডিউলগুলিতে লোড করতে চান এমন সংগ্রহস্থলটি পড়তে পারেন এবং কেবলমাত্র এটি আপনার মধ্যে রয়েছে packages.json

 Github > Click on Profile > Settings > Developer settings > Personal access tokens > Generate new token

নির্বাচন সুযোগগুলি অংশে, চেক উপর রেপো : ব্যক্তিগত আধারগুলির ফুল নিয়ন্ত্রণ

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

এখন আপনার সংস্থায় নতুন গোষ্ঠী তৈরি করুন, এই ব্যবহারকারীকে এই দলে যুক্ত করুন এবং কেবলমাত্র সেই ভাণ্ডারগুলি যুক্ত করুন যা আপনি আশা করেন যে এইভাবে টানুন (কেবলমাত্র অনুমতি পড়ুন!)

আপনার এই কনফিগারেশনটি কেবলমাত্র ব্যক্তিগত রেপোতে ঠেলাতে হবে তা নিশ্চিত হওয়া দরকার

তারপরে আপনি এটিকে আপনার / প্যাকেজগুলি.জসনে যুক্ত করতে পারেন (বট-ব্যবহারকারীর নাম ব্যবহারকারী, এক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্স

// packages.json


{
  // ....
    "name_of_my_lib": "https://bot-user:xxxxxxxxxxxxxxxxxxxxxxxxxxx@github.com/ghuser/name_of_my_lib.git"
  // ...
}

https://blog.eq8.eu/til/pull-git-private-repo-from-github-from-npm-modules-or-bundler.html


1
সুতরাং, এই ব্যক্তিগত অ্যাক্সেস টোকেন প্রতিশ্রুতিবদ্ধ, এবং ট্র্যাভিস সিআই এর মতো কিছুতে ব্যবহার করা কি নিরাপদ?
কন আন্টোনাকোস

@ কনআন্টোনাকোস যদি প্রকল্পটি একটি গিথুব ব্যক্তিগত সংগ্রহস্থল হয় এবং আপনি ট্র্যাভিস সিআইকে প্রদান করেছেন যা আপনার ব্যক্তিগত গিথুব প্রকল্পের সংগ্রহস্থলটি পরিচালনা করছে তবে হ্যাঁ (দয়া করে, যেহেতু আপনি আপনার শংসাপত্রগুলি প্রকাশ্যে ভাগ করে নিচ্ছেন না) এছাড়াও মনে রাখার মতো বিষয়টিও আপনাকে তৈরি এবং ব্যবহার করা দরকার নতুন গিথুব ব্যবহারকারীর শংসাপত্রসমূহ যা কেবলমাত্র এই ব্যক্তিগত রেপোতে পঠনের অ্যাক্সেস রয়েছে। সুতরাং আপনার ব্যক্তিগত অ্যাকাউন্টটি ব্যবহার করবেন না :) ... এমন একটি বট ব্যবহারকারী অ্যাকাউন্ট তৈরি করুন যা এক্সপোজারের ক্ষেত্রে লক করা সহজ) GH- তে
সমপরিমাণ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.