PowerShell 7以降をaquaでインストールする方法を紹介します。
必要条件
PowerShellがaquaレジストリに追加されたのは先日なので、4.292.0以上のバージョンが必要です。
- aqua-registry | GitHub.com v4.292.0以上
registries: - type: standard ref: v4.295.1 # renovate: depName=aquaproj/aqua-registry
PowerShellをインストール
aqua.yamlにPowerShellを追加します。aqua gでパッケージ名を検索してもいいですし、パッケージを指定できます。--select-versionあるいは-sは、指定したパッケージのバージョンを指定できるパラメーターで指定しない場合は最新バージョンがインストールされます。指定するとデフォルトで30バージョンを選べます。
# パッケージ名を検索、aqua.yamlには追加しない $ aqua g # PowerShellパッケージを指定、aqua.yamlに追加。バージョンは最新 $ aqua g -i PowerShell/PowerShell # PowerShellパッケージを指定、aqua.yamlに追加。バージョンは候補から選ぶ $ aqua g -i -s PowerShell/PowerShell # 追加結果を確認 $ cat aqua.yaml ... 省略 packages: - name: PowerShell/PowerShell@v7.4.6
リリース一覧を見るとPowerShellのリリースペースは早いですね。どうでもいいですが、aquaのリリース一覧はバージョン順ではなく、リリース日付順になっています。日頃バージョンを扱っててバージョン順序はライブラリの思想出るなぁと思っているのですが、aquaはGitHub APIから取得したまま表示しているようです。1
アンインストール
アンインストールは次のコマンドで行います。
$ aqua rm -m lp PowerShell/PowerShell
まとめ
aquaを使ったPowerShellインストールは、aptと違ってパスごとのバージョン管理できるのが便利です。シェルなので単一でもいいというのはありますが、いろいろなバージョンを試すにはきわめて有用です。
あと、apt経由のPowerShellインストールはパッケージリポジトリを導入する必要があり面倒なんですよね。PowerShellはUbuntuに限らずディストリビューションの標準パッケージに配信していないのでインストール面倒なのはちょっと困ったものです。Windowsですら配信していない一貫した姿勢なのは好きです。
-
aquaのGitHubReleaseClient.ListReleasesでバージョンを一覧取得するのですが、その実装はgo-githubを使うようです。
go-githubのRepositoriesService.ListReleasesメソッドが処理の実体で、GitHub APIのhttpエンドポイントList releasesを特にいじることなく使っています。↩