tech.guitarrapc.cóm

Technical updates

aquaでPowerShell(pwsh)をインストールする

PowerShell 7以降をaquaでインストールする方法を紹介します。

必要条件

PowerShellがaquaレジストリに追加されたのは先日なので、4.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のパッケージバージョンの表示

GitHub Releaseの表示

アンインストール

アンインストールは次のコマンドで行います。

$ aqua rm -m lp PowerShell/PowerShell

まとめ

aquaを使ったPowerShellインストールは、aptと違ってパスごとのバージョン管理できるのが便利です。シェルなので単一でもいいというのはありますが、いろいろなバージョンを試すにはきわめて有用です。

あと、apt経由のPowerShellインストールはパッケージリポジトリを導入する必要があり面倒なんですよね。PowerShellはUbuntuに限らずディストリビューションの標準パッケージに配信していないのでインストール面倒なのはちょっと困ったものです。Windowsですら配信していない一貫した姿勢なのは好きです。


  1. aquaのGitHubReleaseClient.ListReleasesでバージョンを一覧取得するのですが、その実装はgo-githubを使うようです。go-githubRepositoriesService.ListReleasesメソッドが処理の実体で、GitHub APIのhttpエンドポイントList releasesを特にいじることなく使っています。