Memasang paket
Menginstal paket dari Paket GitHub memungkinkan Anda mengonsumsi pustaka, dependensi, dan gambar kontainer yang dihosting di GitHub. Anda dapat menginstal paket apa pun yang memiliki izin untuk melihat dan menggunakannya sebagai dependensi dalam proyek Anda.
Menemukan Paket
Paket GitHub menyediakan beberapa cara untuk menemukan paket:
Opsi pencarian
- Pencarian global: Cari di semua paket publik di GitHub
- Pencarian organisasi: Menemukan paket dalam organisasi tertentu
- Pencarian repositori: Menelusuri paket yang diterbitkan dari repositori
- Filter jenis paket: Filter menurut npm, NuGet, Maven, Docker, dll.
Untuk detailnya, lihat Mencari paket.
Informasi paket
Saat Anda menemukan paket, halaman paket menyediakan informasi penting:
- Deskripsi: Apa yang dilakukan paket dan tujuannya
- Instruksi penginstalan: Cara menambahkan paket ke proyek Anda
- Riwayat versi: Versi dan catatan rilis yang tersedia
- Dependensi: Paket dan batasan versi yang diperlukan
- Contoh penggunaan: Sampel kode memperlihatkan skenario umum
- Lisensi: Ketentuan hukum untuk menggunakan paket
- Unduh statistik: Berapa kali paket telah diinstal
Praktik terbaik: Selalu baca instruksi penginstalan dan deskripsi paket sebelum menginstal untuk memahami persyaratan, melanggar perubahan, dan kompatibilitas.
Alur kerja penginstalan
Menginstal paket mengikuti proses dua langkah yang konsisten terlepas dari jenis paket:
1. Autentikasi ke Paket GitHub
Konfigurasikan klien paket Anda untuk mengautentikasi dengan Paket GitHub menggunakan token akses pribadi (PAT) dengan read:packages cakupan.
Persyaratan autentikasi:
- Paket publik: Autentikasi diperlukan bahkan untuk paket publik
- Paket privat: Memerlukan PAT dengan akses repositori yang sesuai
- Paket organisasi: Mungkin memerlukan keanggotaan organisasi
- Paket internal: Hanya tersedia dalam organisasi GitHub Enterprise
2. Pasang paket
Gunakan perintah instalasi bawaan untuk klien paket Anda (npm install, dotnet tambahkan paket, mvn install, dll.) untuk menambahkan paket ke proyek Anda.
Daftar periksa penginstalan:
- Verifikasi nama dan versi paket sudah benar
- Periksa kompatibilitas dengan versi kerangka kerja proyek Anda
- Meninjau pohon dependensi untuk konflik
- Menguji fungsionalitas paket setelah penginstalan
- Perbarui dokumentasi untuk mencerminkan dependensi baru
Menginstal paket NuGet
Paket NuGet dapat diinstal menggunakan Visual Studio atau dotnet CLI.
Metode 1: Visual Studio
Visual Studio menyediakan antarmuka grafis untuk mengelola paket NuGet:
Buka Manajer Paket NuGet:
- Perluas Proyek → Solusi
- Klik kanan pada Dependensi
- Pilih Kelola Paket NuGet...
Telusuri dan instal:
- Klik tab Telusuri
- Cari nama paket Anda
- Pilih versi yang Anda inginkan
- Klik Instal
Anda dapat menelusuri, menginstal, dan memperbarui dependensi dari beberapa registri secara bersamaan. Untuk informasi selengkapnya, lihat Membuat dan menghapus dependensi proyek.
Metode 2: Mengedit .csproj secara langsung
Anda dapat menambahkan referensi paket langsung ke file proyek Anda:
Langkah 1: Mengautentikasi ke Paket GitHub
Buat atau perbarui file nuget.config Anda (lihat bagian Penerbitan untuk detail autentikasi).
Langkah 2: Tambahkan PackageReference
Tambahkan ItemGroup dengan PackageReference di file .csproj Anda:
<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>
Nota
Ganti OctokittenApp dengan nama paket Anda dan 12.0.2 dengan versi yang ingin Anda gunakan.
Langkah 3: Pulihkan paket
Instal paket menggunakan perintah pemulihan :
dotnet restore
Metode 3: Menggunakan dotnet CLI
Anda dapat menginstal paket menggunakan perintah tambahkan dotnet :
dotnet add package OctokittenApp --version 12.0.2 --source github
Praktik terbaik untuk penginstalan NuGet:
- Sematkan versi: Tentukan versi yang tepat untuk build yang dapat direproduksi
- Gunakan manajemen paket pusat: Mengonsolidasikan versi di Directory.Packages.props
- Tinjau kerentanan: Periksa saran keamanan sebelum menginstal
- Kompatibilitas pengujian: Pastikan paket berfungsi dengan kerangka kerja target Anda
Menginstal paket npm
Paket npm memerlukan konfigurasi file .npmrc untuk menentukan Paket GitHub sebagai registri.
Mengonfigurasi file .npmrc
Langkah 1: Mengautentikasi ke Paket GitHub
Buat atau perbarui file ~/.npmrc Anda dengan token autentikasi Anda (lihat bagian Penerbitan untuk detail autentikasi).
Langkah 2: Buat proyek .npmrc
Dalam direktori yang sama dengan file package.json Anda, buat atau edit file .npmrc :
@OWNER:registry=https://npm.pkg.github.com
Nota
Ganti OWNER dengan nama akun pengguna atau organisasi yang memiliki paket.
Langkah 3: Menerapkan .npmrc ke repositori
Tambahkan file .npmrc ke repositori Anda sehingga semua anggota tim menggunakan konfigurasi yang sama. Lihat Menambahkan file ke repositori.
Menambahkan dependensi ke package.json
Konfigurasikan package.json untuk menyertakan paket sebagai dependensi:
{
"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"
}
}
Spesifikasi dependensi:
-
Versi yang tepat:
"1.0.0"menginstal versi tertentu -
Rentang karier:
"^1.0.0"menginstal pembaruan minor/patch yang kompatibel -
Rentang tilde:
"~1.0.0"menginstal pembaruan patch yang kompatibel saja -
Terbaru:
"latest"menginstal versi terbaru (tidak disarankan untuk produksi)
Pasang paketnya
Jalankan perintah npm install :
npm install
Atau instal paket tertentu:
npm install @octo-org/octo-app
Beberapa organisasi
Jika Anda perlu menginstal paket dari beberapa organisasi, tambahkan baris tambahan ke file .npmrc Anda:
@first-org:registry=https://npm.pkg.github.com
@second-org:registry=https://npm.pkg.github.com
@third-org:registry=https://npm.pkg.github.com
Praktik terbaik untuk penginstalan npm:
- Gunakan package-lock.json: Menerapkan lockfile untuk penginstalan yang konsisten di seluruh lingkungan
-
Pemeriksaan ketergantungan: Jalankan
npm audituntuk memeriksa kerentanan -
Gunakan npm ci: Dalam alur CI/CD, gunakan
npm ciuntuk penginstalan yang lebih cepat dan lebih andal - Batasan versi: Menggunakan rentang versi semantik untuk menyeimbangkan stabilitas dan pembaruan
- Registri privat terlebih dahulu: Mengonfigurasi cakupan untuk memeriksa Paket GitHub sebelum npm publik
Menginstal dalam alur CI/CD
Anda dapat menginstal paket di alur kerja GitHub Actions menggunakan metode yang sama:
npm dalam GitHub Actions
- 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 dalam GitHub Actions
- 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
Manfaat GITHUB_TOKEN:
- Tidak diperlukan PAT: Tersedia secara otomatis dalam alur kerja
- Izin lingkup terbatas: Terbatas pada akses repositori alur kerja
- Rotasi otomatis: Token diregenerasi untuk setiap eksekusi alur kerja
- Aman: Tidak pernah terekspos dalam log atau artefak
Pemecahan masalah penginstalan
Masalah dan solusi umum:
| Masalah | Sebab | Solution |
|---|---|---|
| 401 Tidak Sah | PAT hilang atau tidak valid | Memverifikasi bahwa token memiliki read:packages cakupan |
| 404 Tidak ditemukan | Nama paket atau URL registri salah | Periksa apakah paket ada dan pastikan pemiliknya benar. |
| 403 Dilarang | Tidak ada izin untuk mengakses paket | Meminta akses atau memverifikasi keanggotaan organisasi |
| Versi tidak ditemukan | Versi yang diminta tidak ada | Periksa versi yang tersedia pada halaman paket |
| Konflik dependensi | Versi paket yang tidak kompatibel | Memperbarui dependensi lain atau menggunakan resolusi |
Sumber daya tambahan
Untuk informasi selengkapnya, lihat:
- Bekerja dengan registri Paket GitHub - Panduan lengkap untuk semua registri yang didukung.
- Bekerja dengan registri NuGet - Panduan penginstalan NuGet Terperinci.
- Bekerja dengan registri npm - Panduan penginstalan npm terperinci.
- Tentang izin untuk Paket GitHub - Memahami kontrol akses paket.