先日公開されたPowerShell Core 6.1.0-preview.3からLinuxとmacOSでパッケージマネージャーを使ったインストールをする際のパッケージ名に変更が入ります。
安定版とプレビュー版の分離
PowerShell Core 6.1.0-preview.2まではLinuxやmacOSのパッケージマネージャーを使う際のパッケージ名は「powershell
」の一つで管理していました。
これだと安定版のみを更新していきたい人に対してプレビュー版の更新が強制されることになり非常に問題がありました。
本件に先立ってGitHubのホームにあるインストーラーのリンクが安定版とプレビュー版で分離される様になり、今回PowerShell Core 6.1.0-preview.3でパッケージ名も分離されることとなりました。
(図は安定版、プレビュー版が分離されたGitHubのホーム画面)
パッケージ名の変更
ここまでを踏まえて、今後PowerShell Coreのパッケージ名は以下の様に変更されます。
- 安定版 :
powershell
- プレビュー版 :
powershell-preview
例としてapt-get
の場合は以下の様に使い分けることになります。
# 安定版のインストール sudo apt-get install -y powershell # プレビュー版のインストール sudo apt-get install -y powershell-preview
インストール可能なバージョン
ここから少しややこしいのですが、「OSやディストリビューションによってサポート対象となるPowerShellのバージョンが異なる」、「既にPowerShell Core 6.1.0-preview.1~preview.2をリリースしてしまっている」といった事情があるため、パッケージ毎にインストール可能なPowerShell Coreのバージョンはややこしいことになっています。
以下に現時点での一覧を記載します。
これが将来的には下図の様になっていくのですが、既存のPowerShell Core 6.1.0-preview.1~preview.2がどうなるかはまだ不明です。
シンボリックリンクの変更
パッケージ名の変更に合わせてPowerShell Coreの実行バイナリに対するシンボリックリンクにも変更が入ります。
たとえばUbuntuの場合、PowerShell Coreのバイナリは
/opt/microsoft/powershell/<バージョン番号>/pwsh
にあり、シンボリックリンクが
/usr/bin/pwsh
に貼られていますが、このシンボリックリンクが
/usr/bin/pwsh-preview
に変更されます。
安定版は/usr/bin/pwsh
のまま変わりません。
最後に
ざっとこんな感じです。
本来この点は最初のプレビューリリース前に考えるべき話でした。
若干対応が遅れたものの、あるべき姿に落ち着いたのは良いことだと思います。