Installér en pakke

Fuldført

Installation af pakker fra GitHub Packages giver dig mulighed for at forbruge biblioteker, afhængigheder og containerbilleder, der hostes på GitHub. Du kan installere en hvilken som helst pakke, du har tilladelse til at få vist, og bruge den som en afhængighed i projektet.

Opdagelse af pakker

GitHub-pakker giver flere måder at finde pakker på:

Søgemuligheder

  • Global søgning: Søg på tværs af alle offentlige pakker på GitHub
  • Søgning efter organisation: Find pakker inden for en bestemt organisation
  • Søgning i lager: Gennemse pakker, der er udgivet fra et lager
  • Filter til pakketype: Filtrer efter npm, NuGet, Maven, Docker osv.

Du kan finde flere oplysninger under Søge efter pakker.

Information om pakken

Når du finder en pakke, indeholder pakkesiden vigtige oplysninger:

  • Beskrivelse: Hvad pakken gør og dens formål
  • Installationsvejledning: Sådan tilføjer du pakken til dit projekt
  • Versionshistorik: Tilgængelige versioner og produktbemærkninger
  • Afhængigheder: Påkrævede pakker og versionsbegrænsninger
  • Eksempler på brug: Kodeeksempler, der viser almindelige scenarier
  • Licens: Juridiske vilkår for brug af pakken
  • Download statistik: Hvor mange gange pakken er blevet installeret

Bedste praksis: Læs altid pakkens installations- og beskrivelsesinstruktioner før installation for at forstå krav, ændringer og kompatibilitet.

Arbejdsgang for installation

Installation af en pakke følger en ensartet totrinsproces uanset pakketype:

1. Godkend til GitHub-pakker

Konfigurer din pakkeklient til at godkende med GitHub-pakker ved hjælp af et personligt adgangstoken (PAT) med omfanget read:packages .

Krav til godkendelse:

  • Offentlige pakker: Godkendelse er påkrævet selv for offentlige pakker
  • Private pakker: Kræver PAT med passende lageradgang
  • Organisationspakker: Kan kræve medlemskab af en organisation
  • Interne pakker: Kun tilgængelig i GitHub Enterprise-organisationer

2. Installer pakken

Brug pakkeklientens oprindelige installationskommandoer (npm install, dotnet add package, mvn install osv.) til at føje pakken til dit projekt.

Tjekliste for installation:

  • Kontroller, at pakkenavn og -version er korrekte
  • Kontrollér kompatibilitet med projektets rammeversion
  • Gennemse afhængighedstræet for konflikter
  • Testpakkens funktionalitet efter installation
  • Opdater dokumentationen for at afspejle den nye afhængighed

Installation af NuGet-pakker

NuGet-pakker kan installeres ved hjælp af Visual Studio eller dotnet CLI.

Metode 1: Visual Studio

Visual Studio indeholder en grafisk grænseflade til administration af NuGet-pakker:

  1. Åbn NuGet Package Manager:

    • Udvid løsning → projekt
    • Højreklik på Afhængigheder
    • Vælg Administrer NuGet-pakker...

    Skærmbillede af Indstillingen Visual Studio til administration af NuGet-pakker.

  2. Gennemse og installer:

    • Klik på fanen Gennemse
    • Søg efter dit pakkenavn
    • Vælg den ønskede version
    • Klik på Installer

    Skærmbillede af, hvordan du administrerer NuGet-pakker, installerer og opdaterer fra Visual Studio.

Du kan gennemse, installere og opdatere afhængigheder fra flere registre samtidigt. Du kan få flere oplysninger i Opret og fjern projektafhængigheder.

Metode 2: Redigering af .csproj direkte

Du kan tilføje pakkereferencer direkte til din projektfil:

Trin 1: Godkend til GitHub-pakker

Opret eller opdater din nuget.config fil (se afsnittet Udgivelse for at få oplysninger om godkendelse).

Trin 2: Tilføj PackageReference

Tilføj en ItemGroup med en PackageReference i din .csproj-fil :

<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>

Seddel

Erstat OctokittenApp med dit pakkenavn og 12.0.2 med den version, du vil bruge.

Trin 3: Gendan pakker

Installer pakkerne ved hjælp af gendannelseskommandoen :

dotnet restore

Metode 3: Brug af dotnet CLI

Du kan installere pakker ved hjælp af dotnet add-kommandoen :

dotnet add package OctokittenApp --version 12.0.2 --source github

Bedste fremgangsmåder for NuGet-installation:

  • Pin-versioner: Angiv nøjagtige versioner for reproducerbare builds
  • Brug central pakkestyring: Konsolider versioner i Directory.Packages.props
  • Gennemse sårbarheder: Kontrollér, om der er sikkerhedsmeddelelser, før du installerer
  • Test kompatibilitet: Sørg for, at pakken fungerer med din målramme

Installation af npm-pakker

npm-pakker kræver konfiguration af en .npmrc-fil for at angive GitHub-pakker som registreringsdatabasen.

Konfigurere .npmrc-fil

Trin 1: Godkend til GitHub-pakker

Opret eller opdater din ~/.npmrc-fil med dit godkendelsestoken (se afsnittet Udgivelse for at få oplysninger om godkendelse).

Trin 2: Opret projekt .npmrc

I samme mappe som din package.json fil skal du oprette eller redigere en .npmrc-fil :

@OWNER:registry=https://npm.pkg.github.com

Seddel

Erstat EJER med navnet på den bruger- eller organisationskonto, der ejer pakken.

Trin 3: Commit .npmrc til repository

Føj .npmrc-filen til dit lager, så alle teammedlemmer bruger den samme konfiguration. Se Tilføjelse af en fil til et lager.

Føj afhængighed til package.json

Konfigurer package.json til at medtage pakken som en afhængighed:

{
  "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"
  }
}

Specifikation af afhængighed:

  • Præcis version:"1.0.0" installerer en bestemt version
  • Cirkum-serien:"^1.0.0" Installerer kompatible mindre/patch-opdateringer
  • Tilde rækkevidde:"~1.0.0" Installerer kun kompatible patch-opdateringer
  • Senest:"latest" installerer den nyeste version (anbefales ikke til produktion)

Installere pakken

Kør kommandoen npm install :

npm install

Eller installer en bestemt pakke:

npm install @octo-org/octo-app

Flere organisationer

Hvis du har brug for at installere pakker fra flere organisationer, skal du føje flere linjer til . npmrc-filen :

@first-org:registry=https://npm.pkg.github.com
@second-org:registry=https://npm.pkg.github.com
@third-org:registry=https://npm.pkg.github.com

Bedste fremgangsmåder for installation af npm:

  • Brug package-lock.json: Bekræft låsefil til ensartede installationer på tværs af miljøer
  • Revisionsafhængigheder: Kør npm audit for at kontrollere for sårbarheder
  • Brug npm ci: I CI/CD-pipelines kan du bruge npm ci den til hurtigere og mere pålidelige installationer
  • Begrænsninger for versioner: Brug semantiske versionsintervaller til at afbalancere stabilitet og opdateringer
  • Privat register først: Konfigurer områder for at kontrollere GitHub-pakker før offentlig npm

Installation i CI/CD-pipelines

Du kan installere pakker i GitHub Actions-arbejdsprocesser ved hjælp af de samme metoder:

npm i GitHub-handlinger

- 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 i GitHub-handlinger

- 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

Fordele ved GITHUB_TOKEN:

  • Ingen PAT påkrævet: Automatisk tilgængelig i arbejdsgange
  • Tilladelser med omfang: Begrænset til arbejdsprocessens lageradgang
  • Automatisk rotation: Token regenereres for hver arbejdsproceskørsel
  • Sikker: Aldrig blotlagt i træstammer eller artefakter

Fejlfinding af installationsproblemer

Almindelige problemer og løsninger:

Problem Årsag Opløsning
401 Uautoriseret Manglende eller ugyldig PAT Kontrollér, at token har read:packages omfang
404 Ikke fundet Pakkenavn eller URL-adresse til registreringsdatabasen er forkert Tjek pakken eksisterer, og ejeren er korrekt
403 Forbudt Ingen tilladelse til at få adgang til pakken Anmod om adgang eller bekræft organisationsmedlemskab
Version ikke fundet Den ønskede version findes ikke Tjek tilgængelige versioner på pakkesiden
Afhængighedskonflikter Inkompatible pakkeversioner Opdater andre afhængigheder eller brug løsninger

Yderligere ressourcer

Du kan få flere oplysninger under: