Closed3

Node.js v14の時だけCIがコケた時の調査メモ

Sota SugiuraSota Sugiura

結論

npmのバージョンごとの挙動によるものだった

  • v14
    • npm 6.14.17
  • v16, v18
    • 8.19.2

下記の記事によると

  • npm v3でpeerDependenciesのauto install機能が廃止された
  • npm v7で上記が復活した

https://stackoverflow.com/questions/35207380/how-to-install-npm-peer-dependencies-automatically

今回こけたコードベースでは @typescript-eslint/eslint-plugin@5.44.0tsutils@3.21.0に依存しており、この tsutilspeerDependenciestypescriptが含まれていた

https://github.com/ajafff/tsutils/blob/v3.21.0/package.json#L54-L56

v16, v18ではこれをinstallしてくれてたがv14ではinstallできておらず、エラーになった

Sota SugiuraSota Sugiura

切り分け方としてはv14, v16, v18それぞれで以下の検証をした

node -v
npm -v
rm node_modules
npm i
npm ls typescript

これをしたらv14の時だけtypescriptが無くて気づかなかった
終わり

このスクラップは2022/11/22にクローズされました