🌟
ReactNative+Expoプロジェクトでtsc実行時に `Error: Debug Failure.` で失敗したときの対処
ReactNative+Expoでモバイルアプリを開発中、あるとき tsc
を実行したら下記のように失敗した。
$ tsc --noEmit
/Users/me/my-app/node_modules/typescript/lib/tsc.js:98439
throw e;
^
Error: Debug Failure.
at walk (/Users/me/my-app/node_modules/typescript/lib/tsc.js:98604:38)
at Object.forEachChildRecursively (/Users/me/my-app/node_modules/typescript/lib/tsc.js:25492:27)
at /Users/me/my-app/node_modules/typescript/lib/tsc.js:98520:20
at runWithCancellationToken (/Users/me/my-app/node_modules/typescript/lib/tsc.js:98433:24)
at getJSSyntacticDiagnosticsForFile (/Users/me/my-app/node_modules/typescript/lib/tsc.js:98517:20)
at getSyntacticDiagnosticsForFile (/Users/me/my-app/node_modules/typescript/lib/tsc.js:98425:65)
at /Users/me/my-app/node_modules/typescript/lib/tsc.js:98384:24
at Object.flatMap (/Users/me/my-app/node_modules/typescript/lib/tsc.js:428:25)
at getDiagnosticsHelper (/Users/me/my-app/node_modules/typescript/lib/tsc.js:98380:56)
at Object.getSyntacticDiagnostics (/Users/me/my-app/node_modules/typescript/lib/tsc.js:98388:20)
Node.js v18.9.0
エラー文ではよく原因がわからなかったので ひとまず「tsc Error Debug Failure」などで検索すると、以下のIssueがヒットし、こんなコメントがあった。
For me the problem was coming from the js files in ./dist/bundles folder that was generated after running eas update, so I just excluded them "exclude": ["./dist"].
そういえば最近 eas update
を初めて実行していた。
というわけで以下をtsconfig.jsonに追加。
"exclude": ["./dist"]
これで再度実行すると、
$ tsc --noEmit -p tsconfig.json
✨ Done in 2.89s.
無事実行できました。
Discussion