ติดตั้งแพคเกจ
การติดตั้งแพ็คเกจจาก แพ็คเกจ GitHub ช่วยให้คุณสามารถใช้ไลบรารี การขึ้นต่อกัน และอิมเมจคอนเทนเนอร์ที่โฮสต์บน GitHub ได้ คุณสามารถติดตั้งแพคเกจใดก็ได้ที่คุณ มีสิทธิ์ดู และใช้เป็นการพึ่งพาในโครงการของคุณ
การค้นพบแพ็คเกจ
แพ็คเกจ GitHub มีหลายวิธีในการค้นหาแพ็คเกจ:
ตัวเลือกการค้นหา
- การค้นหาทั่วโลก: ค้นหาแพ็คเกจสาธารณะทั้งหมดบน GitHub
- การค้นหาองค์กร: ค้นหาแพ็คเกจภายในองค์กรที่เฉพาะเจาะจง
- การค้นหาที่เก็บ: เรียกดูแพคเกจที่เผยแพร่จากที่เก็บ
- ตัวกรองประเภทแพคเกจ: กรองตาม npm, NuGet, Maven, Docker เป็นต้น
สําหรับรายละเอียด ดู การค้นหาแพคเกจ
ข้อมูลแพ็คเกจ
เมื่อคุณพบแพ็คเกจ หน้าแพ็คเกจ จะให้ข้อมูลที่จําเป็น:
- คำอธิบาย: แพ็คเกจทําอะไรและวัตถุประสงค์
- คําแนะนําในการติดตั้ง: วิธีเพิ่มแพ็คเกจในโครงการของคุณ
- ประวัติเวอร์ชัน: เวอร์ชันที่พร้อมใช้งานและบันทึกประจํารุ่น
- อ้าง อิง: แพคเกจที่จําเป็นและข้อจํากัดของเวอร์ชัน
- ตัวอย่างการใช้งาน: ตัวอย่างโค้ดที่แสดงสถานการณ์ทั่วไป
- ใบอนุญาต: เงื่อนไขทางกฎหมายสําหรับการใช้แพ็กเกจ
- ดาวน์โหลดสถิติ: ติดตั้งแพ็คเกจกี่ครั้ง
แนวทางปฏิบัติที่ดีที่สุด: อ่านคําแนะนําในการติดตั้งและคําอธิบายของแพ็คเกจทุกครั้งก่อนการติดตั้งเพื่อทําความเข้าใจข้อกําหนด
ขั้นตอนการติดตั้ง
การติดตั้งแพ็คเกจเป็นไปตาม กระบวนการสองขั้นตอนที่สอดคล้องกัน โดยไม่คํานึงถึงชนิดของแพ็คเกจ:
1. ตรวจสอบสิทธิ์กับแพ็คเกจ GitHub
กําหนดค่าไคลเอ็นต์แพ็คเกจของคุณเพื่อรับรองความถูกต้องด้วยแพ็คเกจ GitHub โดยใช้ โทเค็นการเข้าถึงส่วนบุคคล (PAT) ที่มี read:packages ขอบเขต
ข้อกําหนดในการรับรองความถูกต้อง:
- แพ็กเกจสาธารณะ: จําเป็นต้องมีการรับรองความถูกต้องแม้กระทั่งสําหรับแพ็คเกจสาธารณะ
- แพ็คเกจส่วนตัว: ต้องมี PAT ที่มีการเข้าถึงที่เก็บที่เหมาะสม
- แพ็คเกจองค์กร: อาจต้องเป็นสมาชิกองค์กร
- แพ็คเกจภายใน: ใช้ได้เฉพาะภายในองค์กร GitHub Enterprise เท่านั้น
2. ติดตั้งแพ็คเกจ
ใช้ คําสั่งการติดตั้งดั้งเดิม ของไคลเอ็นต์แพ็คเกจของคุณ (npm install, dotnet add package, mvn install ฯลฯ) เพื่อเพิ่มแพ็คเกจลงในโครงการของคุณ
รายการตรวจสอบการติดตั้ง:
- ตรวจสอบว่าชื่อแพ็คเกจและเวอร์ชันถูกต้อง
- ตรวจสอบความเข้ากันได้กับเวอร์ชันเฟรมเวิร์กของโปรเจ็กต์ของคุณ
- ตรวจสอบแผนผังการขึ้นต่อกันสําหรับข้อขัดแย้ง
- ทดสอบการทํางานของแพ็คเกจหลังการติดตั้ง
- อัปเดตเอกสารประกอบเพื่อแสดงการขึ้นต่อกันใหม่
การติดตั้งแพ็คเกจ NuGet
แพ็คเกจ NuGet สามารถติดตั้งได้โดยใช้ Visual Studio หรือ dotnet CLI
วิธีที่ 1: Visual Studio
Visual Studio มี อินเทอร์เฟซแบบกราฟิก สําหรับจัดการแพ็คเกจ NuGet:
เปิดตัวจัดการแพ็คเกจ NuGet:
- ขยาย โซลูชัน→โครงการ
- คลิกขวาที่ การพึ่งพา
- เลือก จัดการแพ็คเกจ NuGet...
เรียกดูและติดตั้ง:
- คลิกแท็บเลือกหา
- ค้นหาชื่อแพ็คเกจของคุณ
- เลือกเวอร์ชันที่คุณต้องการ
- คลิก ติดตั้ง
คุณสามารถเรียกดู ติดตั้ง และปรับปรุงการขึ้นต่อกันจาก รีจิสทรีหลายรายการ พร้อมกัน สําหรับข้อมูลเพิ่มเติม โปรดดู สร้างและลบการขึ้นต่อกันของโครงการ
วิธีที่ 2: การแก้ไข .csproj โดยตรง
คุณสามารถเพิ่มการอ้างอิงแพ็คเกจไปยังไฟล์โปรเจ็กต์ของคุณ ได้โดยตรง :
ขั้นตอนที่ 1: ตรวจสอบสิทธิ์กับแพ็กเกจ GitHub
สร้างหรืออัปเดตไฟล์ nuget.config ของคุณ (ดูรายละเอียดการรับรองความถูกต้องในส่วนการเผยแพร่)
ขั้นตอนที่ 2: เพิ่ม PackageReference
เพิ่ม ItemGroup ที่มี PackageReference ในไฟล์ .csproj ของคุณ:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PackageId>OctocatApp</PackageId>
<Version>1.0.0</Version>
<Authors>Octocat</Authors>
<Company>GitHub</Company>
<PackageDescription>This package adds an Octocat!</PackageDescription>
<RepositoryUrl>https://github.com/OWNER/REPOSITORY</RepositoryUrl>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="OctokittenApp" Version="12.0.2" />
</ItemGroup>
</Project>
โน้ต
แทนที่ OctokittenApp ด้วยชื่อแพ็คเกจของคุณและ 12.0.2 ด้วยเวอร์ชันที่คุณต้องการใช้
ขั้นตอนที่ 3: กู้คืนแพ็กเกจ
ติดตั้งแพ็คเกจโดยใช้คําสั่ง restore
dotnet restore
วิธีที่ 3: การใช้ dotnet CLI
คุณสามารถติดตั้งแพ็คเกจโดยใช้คําสั่ง เพิ่ม dotnet :
dotnet add package OctokittenApp --version 12.0.2 --source github
แนวทางปฏิบัติที่ดีที่สุดสําหรับการติดตั้ง NuGet:
- เวอร์ชันพิน: ระบุเวอร์ชันที่แน่นอนสําหรับบิลด์ที่ทําซ้ําได้
- ใช้การจัดการแพ็คเกจส่วนกลาง: รวมรุ่นใน Directory.Packages.props
- ตรวจสอบช่องโหว่: ตรวจสอบคําแนะนําด้านความปลอดภัยก่อนการติดตั้ง
- ทดสอบความเข้ากันได้: ตรวจสอบให้แน่ใจว่าแพ็คเกจทํางานร่วมกับเฟรมเวิร์กเป้าหมายของคุณ
การติดตั้งแพ็คเกจ npm
แพคเกจ npm จําเป็นต้องกําหนดค่าไฟล์ .npmrc เพื่อระบุแพคเกจ GitHub เป็นรีจิสทรี
กําหนดค่าไฟล์ .npmrc
ขั้นตอนที่ 1: ตรวจสอบสิทธิ์กับแพ็กเกจ GitHub
สร้างหรืออัปเดตไฟล์ ~/.npmrc ของคุณด้วยโทเค็นการรับรองความถูกต้องของคุณ (ดูส่วนการเผยแพร่สําหรับรายละเอียดการรับรองความถูกต้อง)
ขั้นตอนที่ 2: สร้างโครงการ .npmrc
ใน ไดเรกทอรีเดียว กับไฟล์ package.json ให้สร้างหรือแก้ไขไฟล์ .npmrc ดังนี้
@OWNER:registry=https://npm.pkg.github.com
โน้ต
แทนที่ OWNER ด้วยชื่อของผู้ใช้หรือบัญชีองค์กรที่เป็นเจ้าของแพ็กเกจ
ขั้นตอนที่ 3: ยอมรับ .npmrc กับที่เก็บ
เพิ่มไฟล์ .npmrc ลงในที่เก็บของคุณเพื่อให้สมาชิกในทีมทุกคนใช้การกําหนดค่าเดียวกัน ดู การเพิ่มไฟล์ไปยังที่เก็บ
เพิ่มการพึ่งพา package.json
กําหนดค่า package.json เพื่อรวมแพคเกจเป็นการขึ้นต่อกัน:
{
"name": "@my-org/server",
"version": "1.0.0",
"description": "Server app that uses the @octo-org/octo-app package",
"main": "index.js",
"author": "",
"license": "MIT",
"dependencies": {
"@octo-org/octo-app": "1.0.0"
}
}
ข้อกําหนดการพึ่งพา:
-
เวอร์ชันที่แน่นอน:
"1.0.0"ติดตั้งเวอร์ชันเฉพาะ -
ช่วงคาเร็ต:
"^1.0.0"ติดตั้งการอัปเดตรอง/แพตช์ที่เข้ากันได้ -
ช่วงตัวหนอน:
"~1.0.0"ติดตั้งการอัปเดตแพตช์ที่เข้ากันได้เท่านั้น -
ล่าสุด:
"latest"ติดตั้งเวอร์ชันใหม่ล่าสุด (ไม่แนะนําสําหรับการผลิต)
ติดตั้งแพ็คเกจ
เรียกใช้คําสั่ง npm install :
npm install
หรือติดตั้ง แพ็คเกจเฉพาะ:
npm install @octo-org/octo-app
หลายองค์กร
หากคุณต้องการติดตั้งแพคเกจจาก หลายองค์กร ให้เพิ่มบรรทัดเพิ่มเติมในไฟล์ .npmrc ของคุณ:
@first-org:registry=https://npm.pkg.github.com
@second-org:registry=https://npm.pkg.github.com
@third-org:registry=https://npm.pkg.github.com
แนวทางปฏิบัติที่ดีที่สุดสําหรับการติดตั้ง npm:
- ใช้ package-lock.json: คอมมิตล็อกไฟล์เพื่อการติดตั้งที่สอดคล้องกันในสภาพแวดล้อมต่างๆ
- การขึ้นต่อกันของการตรวจสอบ: เรียกใช้
npm auditเพื่อตรวจสอบช่องโหว่ -
ใช้ npm ci: ในไปป์ไลน์ CI/CD ใช้สําหรับ
npm ciการติดตั้งที่รวดเร็วและเชื่อถือได้มากขึ้น - ข้อจํากัดของเวอร์ชัน: ใช้ช่วงเวอร์ชันเชิงความหมายเพื่อสร้างสมดุลระหว่างความเสถียรและการอัปเดต
- รีจิสทรีส่วนตัวก่อน: กําหนดค่าขอบเขตเพื่อตรวจสอบแพ็คเกจ GitHub ก่อน npm สาธารณะ
การติดตั้งในไปป์ไลน์ CI/CD
คุณสามารถติดตั้งแพ็คเกจในเวิร์กโฟลว์ GitHub Actions โดยใช้วิธีการเดียวกัน:
npm ในการดําเนินการ GitHub
- uses: actions/setup-node@v4
with:
node-version: "18"
registry-url: "https://npm.pkg.github.com"
scope: "@OWNER"
- run: npm ci
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
การดําเนินการ NuGet ใน GitHub
- uses: actions/setup-dotnet@v4
with:
dotnet-version: "8.0.x"
source-url: https://nuget.pkg.github.com/OWNER/index.json
env:
NUGET_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: dotnet restore
ประโยชน์ของ GITHUB_TOKEN:
- ไม่ต้องใช้ PAT: พร้อมใช้งานโดยอัตโนมัติในเวิร์กโฟลว์
- สิทธิ์ที่กําหนดขอบเขต: จํากัดเฉพาะการเข้าถึงที่เก็บของเวิร์กโฟลว์
- การหมุนอัตโนมัติ: โทเค็นถูกสร้างขึ้นใหม่สําหรับการเรียกใช้เวิร์กโฟลว์แต่ละครั้ง
- ยึด: ไม่เคยเปิดเผยในท่อนซุงหรือสิ่งประดิษฐ์
การแก้ไขปัญหาการติดตั้ง
ปัญหาทั่วไปและแนวทางแก้ไข:
| ปัญหา | สาเหตุ | โซลูชัน |
|---|---|---|
| 401 ไม่ได้รับอนุญาต | PAT ขาดหายไปหรือไม่ถูกต้อง | ตรวจสอบว่าโทเค็นมี read:packages ขอบเขต |
| 404 ไม่พบ | ชื่อแพคเกจหรือ URL รีจิสทรีไม่ถูกต้อง | ตรวจสอบแพ็คเกจที่มีอยู่และเจ้าของถูกต้อง |
| 403 ต้องห้าม | ไม่ได้รับอนุญาตให้เข้าถึงแพ็คเกจ | ขอสิทธิ์เข้าถึงหรือยืนยันการเป็นสมาชิกขององค์กร |
| ไม่พบเวอร์ชัน | ไม่มีเวอร์ชันที่ร้องขอ | ตรวจสอบเวอร์ชันที่มีในหน้าแพ็คเกจ |
| ความขัดแย้งของการขึ้นต่อกัน | เวอร์ชันแพ็คเกจที่เข้ากันไม่ได้ | อัปเดตการขึ้นต่อกันอื่นๆ หรือใช้การแก้ปัญหา |
แหล่งข้อมูลเพิ่มเติม
สําหรับข้อมูลเพิ่มเติม โปรดดู:
- การทํางานกับรีจิสทรีแพคเกจ GitHub - คู่มือฉบับสมบูรณ์สําหรับรีจิสทรีที่รองรับทั้งหมด
- การทํางานกับรีจิสทรี NuGet - คู่มือการติดตั้ง NuGet โดยละเอียด
- การทํางานกับรีจิสทรี npm - คู่มือการติดตั้ง npm โดยละเอียด
- เกี่ยวกับสิทธิ์สําหรับแพคเกจ GitHub - การทําความเข้าใจการควบคุมการเข้าถึงแพคเกจ