Indítsa el a NuGet-összetevőket a Windows PowerShell 5.1-hez

A Windows új telepítése esetén a Windows PowerShell 5.1 nem tartalmazza a PowerShell-katalógus használatához szükséges NuGet-összetevőket. A PowerShellGet logikával frissíti ezeket az összetevőket, amíg csatlakozni tud a PowerShell-gyűjteményhez. Ha a gép nem csatlakozik az internethez, a szükséges fájlokat megbízható forrásból kell átmásolnia a leválasztott gépre.

A frissített NuGet szolgáltató a parancsok szerint kötelező, hogy a PowerShell Galériával dolgozzon. A Publish-* parancsokat az erőforrások közzétételére használják nuget.exe .

Telepítsd a PowerShellGet legújabb verzióját egy internethez csatlakoztatott gépre

A PowerShellGet legújabb verziójának telepítéséhez futtasd a következő parancsot:

Install-Module -Name PowerShellGet -Repository PSGallery

Válaszolj a Y-val a NuGet szolgáltató telepítéséhez.

NuGet provider is required to continue
PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet
-based repositories. The NuGet provider must be available in 'C:\Program Files\PackageMan
agement\ProviderAssemblies' or 'C:\Users\user1\AppData\Local\PackageManagement\ProviderAs
semblies'. You can also install the NuGet provider by running 'Install-PackageProvider -N
ame NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to install and imp
ort the NuGet provider now?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y
VERBOSE: Installing NuGet provider.

Ha Y-re válaszolsz, a PowerShellGet telepíti a NuGet szolgáltatót és a nuget.exe parancssoros eszközt (ha szükséges).

Megjegyzés:

Amikor telepíted a PowerShellGet-et, automatikusan telepíti a PackageManagement legújabb verzióját.

Másold le a szükséges fájlokat az elszigetelt számítógépre

A frissítések telepítése után az internethez csatlakoztatott gépre manuálisan másold le az alkatrészeket az izolált csomópontra egy megbízható offline folyamaton keresztül.

  1. Másolja a PowerShellGet és a PackageManagement modulokat az offline gépre. A következő parancsot használd a forrásgép moduljainak megtalálásához:

    Get-Module PowerShellGet, PackageManagement -ListAvailable |
        Sort-Object Version -Descending |
        Select-Object Path -First 2
    

    Az eredménynek hasonlóan kell kinéznie az alábbi kimenethez:

    Path
    ----
    C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\2.2.5\PowerShellGet.psd1
    C:\Program Files\WindowsPowerShell\Modules\PackageManagement\1.4.8.1\PackageManagement.psd1
    

    Másold le az egész modul mappát ugyanarra a helyre az elszigetelt gépen. Például, ha a modulok a PowerShellGet\2.2.5 célgépen ugyanazokhoz a mappák nevéhez $env:PROGRAMFILES\WindowsPowerShell\Modules tartozó mappák PackageManagement\1.4.8.1 között helyezkednek el.

    Megjegyzés:

    Adminisztratív jogosultságokra van szükséged a fájlok másolásához.$env:PROGRAMFILES

  2. Másolj nuget.exe az elszigetelt gépre. A PowerShellGet a következő helyen telepítik nuget.exe : $env:LOCALAPPDATA\Microsoft\Windows\PowerShell\PowerShellGet\nuget.exe

    Ha a fájl nincs ott a helyen, vagy máshol telepített, vagy a PowerShellGet megtalálja a .NET CLI-t (dotnet.exe). Letöltheted a legújabb verziót nuget.exe a .https://aka.ms/psget-nugetexe

    Másolj nuget.exe$env:LOCALAPPDATA\Microsoft\Windows\PowerShell\PowerShellGet\nuget.exe a célszámítógépen.

Oldd fel a másolt fájlokat

Ha másolsz fájlokat egy másik számítógépről, a Windows blokkolhatja a fájlokat. A másolt fájlok blokkolásának megszüntetéséhez a következő parancsokat futtassuk a célgépen:

$getChildItemSplat = @{
    Path = @(
      "$env:PROGRAMFILES\WindowsPowerShell\Modules\PowerShellGet"
      "$env:PROGRAMFILES\WindowsPowerShell\Modules\PackageManagement"
      "$env:LOCALAPPDATA\Microsoft\Windows\PowerShell\PowerShellGet\nuget.exe"
    )
    Recurse = $true
}
Get-ChildItem @getChildItemSplat | Unblock-File