2021年5月13日木曜日

PowerShell 7 を入れて(ちょっとだけゴタついて)みた

 諸事情あって、「そろそろPowerShell 7 系列も確認できる環境にする時期か」ということで入れてみて、初期段階で少しゴタついたので備忘録的に。

「ゴタついた」のは PowerShell Gralleryから Install-Module できなかったこと。

PowerShell7は 7.1.3のx64 MSI版をインストールして、必要なモジュールをPowerShell Grallyからインストールしようとしたら、ことごとく「そんなモジュールが見当たりません」。

自分的に行き着いた解決策は、PackageManagement と PowerShellGet の2つについて、インストール先フォルダの構成を手動で変更、という手段。もしかすると、*.psd1 ファイルを消すだけで済むのかもしれませんが、PackegeManagementもPowerShellGetもモジュールとしてアップデートする時が来るかもしれないので、きちんとバージョン管理する構成になってないと…と考えました。

Powershell7は、C:\Program Files\PowerShell\7\ 下にインストールされ、同梱のモジュール群がその下の Modules\ にインストールされますが、PackageMangementとPowerShellGetの2つは、バージョン番号のサブフォルダ下にインストールされていませんでした。これを、PackageManagementはバージョン1.4.7が同梱されていましたので、1.4.7\ を手で作成してファイル群を手動でそこに移動。同様に、PowerShellGetもバージョン2.2.5\に手動で移動。

これで無事に Find-Module, Install-Module, Update-Module などが機能するようになりました。

PowerShell7のインストーラの構成の問題なのかもしれませんが、とりあえず、こういう対処が必要でした。(という備忘録)

Install-ModuleやUpdate-Moduleで使うリポジトリはpowershellgallery.comだけなので、いちいち「信頼されないリポジトリだけど良いの?」と聞いてくるのもうざいので

Set-PSRepository -Name PSGarally -InstallationPolicy Trusted

を実行しておきました。(という備忘録)