Een pakket installeren
Door pakketten te installeren vanuit GitHub Packages kunt u bibliotheken, afhankelijkheden en containerinstallatiekopieën gebruiken die worden gehost op GitHub. U kunt elk pakket installeren dat u gemachtigd hebt om het te bekijken en te gebruiken als een afhankelijkheid in uw project.
Pakketten detecteren
GitHub Packages biedt meerdere manieren om pakketten te ontdekken:
Zoekopties
- Algemene zoekopdracht: Zoeken in alle openbare pakketten op GitHub
- Organisatie zoeken: Pakketten zoeken binnen een specifieke organisatie
- Zoeken in opslagplaatsen: Bladeren door pakketten die zijn gepubliceerd vanuit een opslagplaats
- Filter voor pakkettype: Filteren op npm, NuGet, Maven, Docker, enzovoort.
Zie Zoeken naar pakketten voor meer informatie.
Pakketgegevens
Wanneer u een pakket vindt, bevat de pakketpagina essentiële informatie:
- Beschrijving: Wat het pakket doet en het doel ervan
- Installatie-instructies: Het pakket toevoegen aan uw project
- Versiegeschiedenis: Beschikbare versies en releaseopmerkingen
- Afhankelijkheden: Vereiste pakketten en versiebeperkingen
- Gebruiksvoorbeelden: Codevoorbeelden met veelvoorkomende scenario's
- Licentie: Juridische voorwaarden voor het gebruik van het pakket
- Statistieken downloaden: Hoe vaak het pakket is geïnstalleerd
Best practice: Lees altijd de installatie- en beschrijvingsinstructies van het pakket voordat u installeert, om de vereisten, ingrijpende veranderingen en compatibiliteit te begrijpen.
Installatiewerkstroom
Het installeren van een pakket volgt een consistent proces in twee stappen , ongeacht het pakkettype:
1. Verifiëren bij GitHub Packages
Configureer uw pakketclient voor verificatie met GitHub Packages met behulp van een persoonlijk toegangstoken (PAT) met het read:packages bereik.
Verificatievereisten:
- Openbare pakketten: Verificatie is vereist, zelfs voor openbare pakketten
- Privépakketten: Vereist PAT met de juiste toegang tot de opslagplaats
- Organisatiepakketten: Mogelijk vereist organisatielidmaatschap
- Interne pakketten: Alleen beschikbaar binnen GitHub Enterprise-organisaties
2. Installeer het pakket
Gebruik de systeemeigen installatieopdrachten van uw pakketclient (npm install, dotnet add package, mvn install, enzovoort) om het pakket toe te voegen aan uw project.
Controlelijst voor installatie:
- Controleer of de pakketnaam en -versie juist zijn
- Compatibiliteit controleren met de frameworkversie van uw project
- Afhankelijkheidsstructuur checken op conflicten
- Pakketfunctionaliteit testen na installatie
- Documentatie bijwerken om nieuwe afhankelijkheid weer te geven
NuGet-pakketten installeren
NuGet-pakketten kunnen worden geïnstalleerd met Visual Studio of de dotnet CLI.
Methode 1: Visual Studio
Visual Studio biedt een grafische interface voor het beheren van NuGet-pakketten:
Open NuGet Package Manager:
- Oplossing → project uitvouwen
- Klik met de rechtermuisknop op Afhankelijkheden
- Selecteer NuGet-pakketten beheren...
Bladeren en installeren:
- Klik op het tabblad Bladeren
- Uw pakketnaam zoeken
- Selecteer de gewenste versie
- Klik op Installeren
U kunt tegelijkertijd door afhankelijkheden van meerdere registers bladeren, installeren en bijwerken. Zie Projectafhankelijkheden maken en verwijderen voor meer informatie.
Methode 2: .csproj rechtstreeks bewerken
U kunt pakketverwijzingen rechtstreeks toevoegen aan uw projectbestand:
Stap 1: Verifiëren bij GitHub Packages
Uwnuget.config-bestand maken of bijwerken (zie de sectie Publiceren voor verificatiedetails).
Stap 2: PackageReference toevoegen
Voeg een ItemGroup toe met een PackageReference in uw .csproj-bestand :
<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>
Notitie
Vervang OctokittenApp door uw pakketnaam en 12.0.2 door de versie die u wilt gebruiken.
Stap 3: Pakketten terugzetten
Installeer de pakketten met behulp van de herstelopdracht :
dotnet restore
Methode 3: Dotnet CLI gebruiken
U kunt pakketten installeren met de opdracht dotnet add :
dotnet add package OctokittenApp --version 12.0.2 --source github
Aanbevolen procedures voor NuGet-installatie:
- Versies vastmaken: Exacte versies opgeven voor reproduceerbare builds
- Centraal pakketbeheer gebruiken: Versies samenvoegen in Directory.Packages.props
- Beveiligingsproblemen controleren: Controleren op beveiligingsadviezen voordat u installeert
- Testcompatibiliteit: Zorg ervoor dat het pakket werkt met uw doelframework
NPM-pakketten installeren
npm-pakketten vereisen het configureren van een .npmrc-bestand om GitHub Packages op te geven als het register.
.npmrc-bestand configureren
Stap 1: Verifiëren bij GitHub Packages
Maak of werk uw ~/.npmrc-bestand bij met uw verificatietoken (zie de sectie Publiceren voor verificatiedetails).
Stap 2: Project .npmrc maken
Maak of bewerk een NPMRC-bestand in dezelfde map als uw package.json-bestand:
@OWNER:registry=https://npm.pkg.github.com
Notitie
Vervang OWNER door de naam van het gebruikers- of organisatieaccount dat eigenaar is van het pakket.
Stap 3: .npmrc doorvoeren in opslagplaats
Voeg het NPMRC-bestand toe aan uw opslagplaats, zodat alle teamleden dezelfde configuratie gebruiken. Zie Een bestand toevoegen aan een opslagplaats.
Afhankelijkheid toevoegen aan package.json
Configureer package.json om het pakket op te nemen als een afhankelijkheid:
{
"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"
}
}
Afhankelijkheidsspecificatie:
-
Exacte versie:
"1.0.0"installeert een specifieke versie -
Caret-bereik:
"^1.0.0"installeert compatibele secundaire/patch-updates -
Tilde-bereik:
"~1.0.0"installeert alleen compatibele patch-updates -
Laatst:
"latest"installeert de nieuwste versie (niet aanbevolen voor productie)
Installeer het pakket
Voer de installatieopdracht npm uit :
npm install
Of installeer een specifiek pakket:
npm install @octo-org/octo-app
Meerdere organisaties
Als u pakketten van meerdere organisaties wilt installeren, voegt u extra regels toe aan uw NPMRC-bestand :
@first-org:registry=https://npm.pkg.github.com
@second-org:registry=https://npm.pkg.github.com
@third-org:registry=https://npm.pkg.github.com
Aanbevolen procedures voor npm-installatie:
- Gebruik package-lock.json: Lockfile doorvoeren voor consistente installaties in omgevingen
-
Afhankelijkheden controleren: Uitvoeren
npm auditom te controleren op beveiligingsproblemen -
Npm ci gebruiken: Gebruik in CI/CD-pijplijnen
npm civoor snellere, betrouwbaardere installaties - Versiebeperkingen: Semantische versiebereiken gebruiken om stabiliteit en updates te verdelen
- Privéregister eerst: Configureer scopes om GitHub-pakketten te controleren vóór npm
Installeren in CI/CD-pijplijnen
U kunt pakketten installeren in GitHub Actions-werkstromen met dezelfde methoden:
npm in GitHub-acties
- 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 in 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
Voordelen van GITHUB_TOKEN:
- Geen PAT vereist: Automatisch beschikbaar in werkstromen
- Bereikmachtigingen: Beperkt tot toegang tot de repository van de workflow
- Automatische rotatie: Token wordt opnieuw gegenereerd voor elke werkstroomuitvoering
- Veilig: Nooit weergegeven in logboeken of artefacten
Installatieproblemen oplossen
Veelvoorkomende problemen en oplossingen:
| Probleem | Oorzaak | Solution |
|---|---|---|
| 401 Niet geautoriseerd | Ontbrekende of ongeldige PAT | Controleren of het token de read:packages scope heeft |
| 404 Niet gevonden | Pakketnaam of URL van het register onjuist | Controleer of het pakket bestaat en de eigenaar juist is |
| 403 Verboden | Geen machtiging voor toegang tot pakket | Toegang aanvragen of organisatielidmaatschap verifiëren |
| Versie niet gevonden | De aangevraagde versie bestaat niet | Beschikbare versies controleren op pakketpagina |
| Afhankelijkheidsconflicten | Niet-compatibele pakketversies | Andere afhankelijkheden bijwerken of oplossingen gebruiken |
Aanvullende bronnen
Zie voor meer informatie:
- Werken met een GitHub Packages-register - Volledige handleiding voor alle ondersteunde registers.
- Werken met het NuGet-register - Gedetailleerde NuGet-installatiehandleiding.
- Werken met het npm-register - Gedetailleerde npm-installatiehandleiding.
- Informatie over machtigingen voor GitHub Packages - Inzicht in toegangsbeheer voor pakketten.