lisz-works

プログラミングと興味を貴方に

PowerShellでパッケージ管理するときにすることリスト

【スポンサーリンク】

PowerShell

PackageManagementというPowerShellでパッケージ管理を行うための仕組みの使い方についてです!

Widnowsにインストールするアプリを、管理する仕組みですね。

今回はプロバイダとして「ChocolateyGet」を使用しています。

最初にやること

今回は「ChocolateyGet」という、プロバイダを使用することとしました。

パッケージ管理を「ChocolateyGet」で行うために、プロバイダのインストールまで進めます。

  1. PowerShellを管理者権限で起動する
  2. Set-ExecutionPolicy RemoteSigned -Scope Process
    1. Set-ExecutionPolicy RemoteSignedで開放していたら不要かも
    2. 安全面を考慮すると開放はよくないかも
  3. Find-PackageProvider ChocolateyGet -verbose
    1. プロバイダの検索
  4. Install-PackageProvider ChocolateyGet -verbose
    1. プロバイダのインストール

質問には「[Y]はい」でOK。

-verboseパラメータ

各コマンド実行時に「対象コマンド -verbose」とすると、詳細が出力されるようになります。

-verboseなしの場合このように、結果のみ表示されます。

> Find-PackageProvider ChocolateyGet

Name                           Version          Source           Summary
----                           -------          ------           -------
ChocolateyGet                  1.0.0.1          PSGallery        An PowerShell OneGet provider that discovers pac...

しかし-verboseをつけると、このように詳細ログが表示されます。

そのため、インストールに失敗など、問題発生時につけるだけでも良いと思われます。

> Find-PackageProvider ChocolateyGet -verbose
詳細: プロバイダー 'Bootstrap' を使用してパッケージを検索しています。
詳細: Finding the package 'Bootstrap::FindPackage' 'ChocolateyGet','','','''.
詳細: プロバイダー 'PowerShellGet' を使用してパッケージを検索しています。
詳細: -Repository パラメーターが指定されていません。PowerShellGet では、すべての登録済みリポジトリが使用されます。
詳細: PackageManagement プロバイダー 'NuGet' のプロバイダー オブジェクトを取得しています。
詳細: 指定された Location は 'https://www.powershellgallery.com/api/v2'、PackageManagementProvider は 'NuGet' です。
詳細: Searching repository 'https://www.powershellgallery.com/api/v2/FindPackagesById()?id='ChocolateyGet'' for ''.
詳細: Total package yield:'1' for the specified package 'ChocolateyGet'.

Name                           Version          Source           Summary
----                           -------          ------           -------
ChocolateyGet                  1.0.0.1          PSGallery        An PowerShell OneGet provider that discovers pac...

パッケージ管理前に毎回やること

パッケージ管理をするために、まず行うことです。

これらを行ってから、次章の「パッケージ管理でやること」を行います。

  1. PowerShellを管理者権限で起動する
  2. Set-ExecutionPolicy RemoteSigned -Scope Process
    1. Set-ExecutionPolicy RemoteSignedで開放していたら不要かも
    2. 安全面を考慮すると開放はよくないかも
  3. Import-PackageProvider ChocolateyGet
    1. プロバイダの設定

ということでこの2行を叩く必要があります。

Set-ExecutionPolicy RemoteSigned -Scope Process
Import-PackageProvider ChocolateyGet

パッケージ管理でやること

さて、パッケージ管理を実際にする際のコマンドです。

それぞれ用途に応じたコマンドを実行します。

質問されたら基本的に「[Y]はい」でOK。

探す

Find-Package -ProviderName ChocolateyGet -Name パッケージ名

「*」でワイルドカードを使って検索も可能

インストール

Install-Package -ProviderName ChocolateyGet -name パッケージ名

インストール済み確認

Get-Package -ProviderName ChocolateyGet

アンインストール

Uninstall-Package パッケージ名

環境

下記環境で実行しました。

> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.18362.628
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.18362.628
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

参考

コチラを参考にしました。ありがとうございました!

windows-podcast.com

cartman0.hatenablog.com

qiita.com

qiita.com

あとがき

PowerShellでパッケージ管理するときにすることリストでした!

コマンドが長ったらしくて打つのが面倒なのが玉にキズですね……

www.lisz-works.com