Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9043

huskyを使っているプロジェクトでApp Engineへのデプロイが失敗するときの対処法

$
0
0
現象 コミット時に lint を走らせるために husky を設定しているプロジェクトも多いと思います。 huskyを設定すると npm scripts に"prepare": "husky install"が設定されます。 これにより、npm installなどが走ったあとにhusky installが実行されるため、 全開発メンバーが git-hooks を割と確実に設定することができるようになります。 しかし、この npm scripts のせいで、App Engineへのデプロイ中に以下のエラーがでるようになってしまいました。 husky: not found この対処法を思いついたので、備忘録として記事に残します。 環境 Mac Node 14 husky 6.0.0 解決方法 package.json "prepare": "node --eval 'process.exit(process.env.NODE_ENV === `production` ? 0 : 1)' || husky install", 日本語にすると「NODE_ENV環境変数がproductionではないときだけhusky installを実行する」となります。APP EngineではNODE_ENV=productionが設定されているため、husky installがスキップされます。 解説 node --eval JavaScriptのコードをインラインで実行することができます。 例 node --eval 'console.log("foo")' # -> foo process.exit(process.env.NODE_ENV === production ? 0 : 1) NODE_ENV 環境変数が production のとき、正常終了し、そうでない場合は、終了コード1を出して失敗します。 || 前のコマンドが失敗したときに、後ろのコマンドを実行します。 まとめ App Engineは強い。

Viewing all articles
Browse latest Browse all 9043