AWSのS3でサイトをデプロイしようとしたところ、下記のようなエラーが出ました。
npm run deploy
'bash'は内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
毎度おなじみエラー
このエラーは大体パス(環境変数)が通っていないときに出るエラーです。
ちなみにdeploy-s3.sh
の中身は以下のようになっています。
#!/bin/sh
aws s3 rm s3://zaemonia/ --recursive
aws s3 cp dist s3://zaemonia/ --recursive
これはAmazon S3でSPAをサクッと公開するの記事を参考にして作成したものです。
さて、ここで本題の環境変数を設定をしていきましょう。
これを解決するためにはbash.exe
のパスを通します。
恐らく下記のどちらかにあると思います。
・C:\Program Files\Git\bin
・C:\Program Files(x86)\Git\bin
環境変数のPATH
にこれを追加します。
そして、package.json
のscripts
にdeploy
コマンドを作成します。
"deploy": "bash dist/deploy-s3.sh"
deploy-s3.sh
でデプロイするらしいんですけど、僕は上手く行かなかったのでdist/deploy-s3.sh
とすると上手くデプロイされました。
> bash dist/deploy-s3.sh
delete
delete
・・・
upload
upload
このような実行結果が出ていればデプロイ成功です。
以上、「AWSのS3でデプロイするときにエラーが出た時の話」でした!
良ければ、LGTM、コメントお願いします。
また、何か間違っていることがあればご指摘頂けると幸いです。
他にも初心者さん向けに記事を投稿しているので、時間があれば他の記事も見て下さい!!
Thank you for reading