Manuell paketnedladdning
PowerShell-galleriet stöder nedladdning av ett paket från webbplatsen direkt, utan att använda PowerShellGet-cmdletar. Du kan ladda ned valfritt paket som en NuGet-paketfil (.nupkg
) som du sedan kan kopiera till en intern lagringsplats.
Not
Manuell pakethämtning är inte avsedd som ersättning för cmdleten Install-Module
.
Att ladda ned paketet installerar inte modulen eller skriptet. Beroenden ingår inte i NuGet-paketet som laddats ned. Följande instruktioner tillhandahålls endast i referenssyfte.
Använda manuell nedladdning för att hämta ett paket
Varje sida har en länk för manuell nedladdning, som du ser här:
visningssida för
Om du vill ladda ned manuellt klickar du på Ladda ned den råa nupkg-filen. En kopia av paketet kopieras till nedladdningsmappen för webbläsaren med namnet <name>.<version>.nupkg
.
Ett NuGet-paket är ett ZIP-arkiv med extra filer som innehåller information om paketets innehåll. Vissa webbläsare, till exempel Internet Explorer, ersätter automatiskt filnamnstillägget .nupkg
med .zip
. Om du vill expandera paketet byter du namn på filen .nupkg
till .zip
, om det behövs och extraherar sedan innehållet till en lokal mapp med hjälp av Expand-Archive
eller något annat ZIP-filverktyg.
En NuGet-paketfil innehåller följande NuGet-specifika element som inte ingår i den ursprungliga paketerade koden:
- En mapp med namnet
_rels
– innehåller en.rels
fil som visar beroenden - En mapp med namnet
package
– innehåller NuGet-specifika data - En fil med namnet
[Content_Types].xml
– beskriver hur tillägg som PowerShellGet fungerar med NuGet - En fil med namnet
<name>.nuspec
– innehåller huvuddelen av metadata
Installera PowerShell-moduler från ett NuGet-paket
Not
Dessa instruktioner INTE ger samma resultat som att köra Install-Module
. Dessa instruktioner uppfyller minimikraven. De är inte avsedda att ersätta Install-Module
.
Vissa steg som utförs av Install-Module
ingår inte.
Den enklaste metoden är att ta bort NuGet-specifika element från mappen. Om du tar bort elementen lämnas Den PowerShell-kod som skapats av paketförfattaren. Listan över NuGet-specifika element finns i Använda manuell nedladdning för att hämta ett paket.
Stegen är följande:
- Avblockera den Internetnedladdade NuGet-paketfilen (
.nupkg
), till exempel med hjälp avUnblock-File -Path C:\Downloads\module.nupkg
cmdlet. - Extrahera innehållet i NuGet-paketet till en lokal mapp.
- Ta bort de NuGet-specifika elementen från mappen.
- Byt namn på mappen. Standardmappnamnet är vanligtvis
<name>.<version>
. Versionen kan innehålla-prerelease
om modulen taggas som en förhandsversion. Byt namn på mappen till bara modulnamnet. Till exempel blirazurerm.storage.5.0.4-preview
azurerm.storage
. - Kopiera mappen till en av mapparna i
$env:PSModulePath value
.$env:PSModulePath
är en semikolonavgränsad uppsättning sökvägar där PowerShell ska leta efter moduler.
Viktig
Den manuella nedladdningen innehåller inga beroenden som krävs av modulen. Om paketet har beroenden måste de installeras på systemet för att modulen ska fungera korrekt. PowerShell-galleriet visar alla beroenden som krävs av paketet.
Installera PowerShell-skript från ett NuGet-paket
Not
Dessa instruktioner INTE ger samma resultat som att köra Install-Script
. Dessa instruktioner uppfyller minimikraven. De är inte avsedda att ersätta Install-Script
.
Den enklaste metoden är att extrahera NuGet-paketet och sedan använda skriptet direkt.
Stegen är följande:
- Avblockera den Internetnedladdade NuGet-paketfilen (
.nupkg
), till exempel med hjälp avUnblock-File -Path C:\Downloads\package.nupkg
cmdlet. - Extrahera innehållet i NuGet-paketet.
- Den
.PS1
filen i mappen kan användas direkt från den här platsen. - Du kan ta bort de NuGet-specifika elementen i mappen.
Listan över NuGet-specifika element finns i Använda manuell nedladdning för att hämta ett paket.
Viktig
Den manuella nedladdningen innehåller inga beroenden som krävs av modulen. Om paketet har beroenden måste de installeras på systemet för att modulen ska fungera korrekt. PowerShell-galleriet visar alla beroenden som krävs av paketet.
PowerShell Gallery