Closed3
Node.js v14の時だけCIがコケた時の調査メモ
いつ問題が起きたのか
このPRの c043465
でエラーが発生した
Error: Failed to load plugin '@typescript-eslint' declared in '--config#overrides[0]': Cannot find module 'typescript'
v16, v18では再現せず謎だったので調べた
結論
npmのバージョンごとの挙動によるものだった
- v14
- npm 6.14.17
- v16, v18
- 8.19.2
下記の記事によると
- npm v3でpeerDependenciesのauto install機能が廃止された
- npm v7で上記が復活した
今回こけたコードベースでは @typescript-eslint/eslint-plugin@5.44.0
が tsutils@3.21.0
に依存しており、この tsutils
のpeerDependencies
にtypescript
が含まれていた
v16, v18ではこれをinstallしてくれてたがv14ではinstallできておらず、エラーになった
切り分け方としてはv14, v16, v18それぞれで以下の検証をした
node -v
npm -v
rm node_modules
npm i
npm ls typescript
これをしたらv14の時だけtypescriptが無くて気づかなかった
終わり
このスクラップは2022/11/22にクローズされました