🐚
pwshコマンド
執筆日
2025/04/08
概要
.bicepファイルで構成されたAzureのサンプルアプリをazd up
でデプロイしていたら、以下のようなエラーが出ました。
Packaging services (azd package)
(x) Failed: Packaging service backend
ERROR: error executing step command 'package --all': failed building service 'backend': failed invoking event handlers for 'prebuild', 'prebuild' hook failed with exit code: '0', Path: 'C:\Users\UserName\AppData\Local\Temp\azd-prebuild-XXXXXXXX.ps1'. : executable file not found in %PATH%
.ps1
ファイルを実行できる実行ファイルがない?powershellで実行してるのに???となりました。
原因
-
azure.yaml
ファイルのhooks
の中でwindowsosの場合にpwsh
で.ps1
スクリプトを実行するコマンドが書かれていた - 自分のPCにPowershellが5系しかなく7が入っていなかった
というのが原因でした。pwsh
コマンドはpowershellの7系のシェルを実行するためのコマンドで、インストールされてPATHが通っていれば5系のシェルからでも呼び出せます。
対処
Microsoft Store等で最新のPowershellをインストールする。
補足
powershell 7はクロスプラットフォームで(MacやLinuxでも)動作するらしいです。
また高速かつ軽量で開発もpowershell 7に移行しているため、7の使用が推奨されています。(だったら対応OSはデフォルトで7がインストールされていてくれたらいいのに……)
Discussion