Een pakket installeren

Voltooid

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:

  1. Open NuGet Package Manager:

    • Oplossing → project uitvouwen
    • Klik met de rechtermuisknop op Afhankelijkheden
    • Selecteer NuGet-pakketten beheren...

    Schermopname van de optie Visual Studio voor het beheren van NuGet-pakketten.

  2. Bladeren en installeren:

    • Klik op het tabblad Bladeren
    • Uw pakketnaam zoeken
    • Selecteer de gewenste versie
    • Klik op Installeren

    Schermopname van het beheren van NuGet-pakketten, het installeren en bijwerken van Visual Studio.

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 audit om te controleren op beveiligingsproblemen
  • Npm ci gebruiken: Gebruik in CI/CD-pijplijnen npm ci voor 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: