先日、サイトのデザインをちょっぴり変更してコミットしたら、Azure DevOpsのビルドでエラーになってしまいました。
こういう時って、焦りますよねぇ。
いつもの調子でローカルの動作確認を終えて、コミット。
後はしばらく待てばビルドとリリースの通知メールが飛んできて、実機確認という感じなのですが、ビルドのメールは来てもリリースのメールが一向にやってきません。
遅いなぁ、と思いつつビルド通知をよく見てみたら、失敗してるじゃん...
慌てて管理画面からログを覗いてみると、
(中略)
2018-12-03T10:51:18.7891444Z npm ERR! Cannot read property 'match' of undefined
2018-12-03T10:51:18.7896432Z
2018-12-03T10:51:18.7904752Z npm ERR! A complete log of this run can be found in:
2018-12-03T10:51:18.7935092Z npm ERR! C:\npm\cache\_logs\2018-12-03T10_51_18_726Z-debug.log
2018-12-03T10:51:18.7941665Z D:\a\1\s\NekoniDotnet.Web\NekoniDotnet.Web.csproj(82,5): error MSB3073: The command "npm install" exited with code 1.
2018-12-03T10:51:18.8428455Z ##[error]Error: C:\Program Files\dotnet\dotnet.exe failed with return code: 1
2018-12-03T10:51:18.8439906Z ##[error]Dotnet command failed with non-zero exit code on the following projects : D:\a\1\s\NekoniDotnet.Web\NekoniDotnet.Web.csproj
2018-12-03T10:51:18.8474162Z ##[section]Finishing: Publish
npm install
がこけてます。
えー。
Google先生にお伺いをしてみましたが、「node_modulesフォルダを消してやりなおせ」という...
Azure DevOpsはビルドの際、新しくディレクトリを作って処理しているのでこれは当てはまりません。
package.json
は確かにいじった(dependenciesからdevDependenciesへ移動とか)んですが、ローカルでは特に問題ありませんでした。
yarn
で普通にインストール出来てましたし。
ん、yarn
?
そうです、ローカルでは普段yarn
を使っているのでした。
DevOpsのビルドと同様、npm install
を実行してみたら、ローカルでも同じエラーが発生しました。やーん
ちょっと考えて、package-lock.json
を削除してnpm install
を実行してみたら、正常終了しました。いyarn
エラーの原因はpackage.json
とpackage-lock.json
の内容が合っていないせい、ということなんでしょうねぇ。
DevOpsのビルドでyarn
を使うように設定する方法ってあるのかしら...。
とりあえず、npm install
もチェックしてからコミットするようにしなければ...。
このトラブルシューティングが誰かの参考になれば幸いです。
こんなドジっ子居ないかna...