Windows への PowerShellGet のインストール

重要

Windows PowerShell 5.1 には、バージョン 1.0.0.1 の PowerShellGet がプレインストールされています。 このバージョンの PowerShellGet には、制限されている機能があり、PowerShell ギャラリーの更新された機能はサポートされていません。 サポートするには、最新バージョンに更新する必要があります。

PowerShell 6.0 は、バージョン 1.6.0 の PowerShellGet に付属しています。 PowerShell 7.0 は、PowerShellGet のバージョン 2.2.3 に付属しています。 現在サポートされている PowerShellGet のバージョンは 2.2.5 です。 Windows PowerShell 5.1 を実行している場合は、新しいバージョンをインストールする必要があります。

最良の結果を得るには、サポートされている最新バージョンを常にインストールする必要があります。

プレインストールされているバージョンの PowerShellGet の更新

PowerShellGet モジュールには、モジュールをインストールおよび更新するためのコマンドレットが含まれています。

  • Install-Module では、最新の (プレリリースされていない) バージョンのモジュールがインストールされます。
  • Update-Module では、現在インストールされているモジュールよりも新しい場合は、最新の (プレリリースされていない) バージョンのモジュールをインストールします。 ただし、このコマンドレットは、Install-Module を使用して以前のバージョンがインストールされている場合にのみ機能します。

プレインストールされているモジュールを更新するには、Install-Module を使用する必要があります。 PowerShell ギャラリーから新しいバージョンをインストールしたら、Update-Module を使用して新しいリリースをインストールすることができます。

PowerShellGet for Windows PowerShell 5.1 の更新

システム要件

  • PowerShellGet には、.NET Framework 4.5 以降が必要です。 詳細については、「開発者向けの .NET Framework のインストール」を参照してください。

  • PowerShell ギャラリーにアクセスするには、トランスポート層セキュリティ (TLS) 1.2 以降を使用する必要があります。 既定では、PowerShell は TLS 1.2 を使用するように構成されていません。 PowerShell セッションで TLS 1.2 を有効にするには、次のコマンドを使用します。

    [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
    

    また、このコード行を PowerShell プロファイル スクリプトに追加することをお勧めします。 プロファイルの詳細については、「about_Profiles」を参照してください。

PowerShellGet の最新バージョンのインストール

Windows PowerShell 5.1 には PowerShellGet バージョン 1.0.0.1 が付属しています。NuGet プロバイダーは含まれていません。 このプロバイダーは、PowerShell ギャラリーを操作する場合に、PowerShellGet で必要となります。

注意

管理者特権の PowerShell セッションから次のコマンドを実行する必要があります。 PowerShell アイコンを右クリックし、 [管理者として実行] を選択して管理者特権のセッションを開始します。

NuGet プロバイダーは 2 種類の方法でインストールできます。

  • Install-PackageProvider を使用して NuGet をインストールしてから他のモジュールをインストールする

    次のコマンドを実行して、NuGet パッケージをインストールします。

    Install-PackageProvider -Name NuGet -Force
    

    プロバイダーをインストールしたら、PowerShellGet の任意のコマンドレットを PowerShell ギャラリーと一緒に使用できるようになります。

  • Install-Module に NuGet プロバイダーのインストールを求めるプロンプトを表示させる

    次のコマンドでは、NuGet プロバイダーなしで更新された PowerShellGet モジュールのインストールを試みます。

    Install-Module PowerShellGet -AllowClobber -Force
    

    Install-Module によって、NuGet プロバイダーをインストールするように求められます。 「Y」と入力して、プロバイダーをインストールします。

    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\PackageManagement\ProviderAssemblies'
    or 'C:\Users\user1\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet
    provider by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you
    want PowerShellGet to install and import the NuGet provider now?
    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y
    VERBOSE: Installing NuGet provider.
    

注意

TLS 1.2 を構成していない場合は、NuGet プロバイダーやその他のパッケージのインストールを試みても失敗します。

PowerShellGet をインストールしてから

新しいバージョンの PowerShellGet をインストールしたら、新しい PowerShell セッションを開く必要があります。 PowerShellGet コマンドレットを使用すると、モジュールの最新バージョンが自動的に読み込まれます。

また、信頼できるリポジトリとして PowerShell ギャラリーを登録することをお勧めします。 次のコマンドを使用します。

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted

詳細については、「Set-PSRepository」を参照してください。