🔴
yarnが突然SIGSEGV出したときの解決策
手元の開発機として使っているmacOSが突然落ちてしまって、再ログインしてyarnコマンドを叩いたら次のようなエラーが出るようになってしまった。
$ yarn
fish: Job 1, 'yarn' terminated by signal SIGSEGV (Address boundary error)
yarnは内部でv8-compile-cache
というv8のコンパイル結果をキャッシュするライブラリを使っているので、エラー内容からするとおそらくこれかなと思ったらビンゴだった。キャッシュを無効にするための環境変数DISABLE_V8_COMPILE_CACHE=1
をつけて実行したらyarnは何事もなく動いてくれた。
$ DISABLE_V8_COMPILE_CACHE=1 yarn
v8-compile-cache
のREADMEを見ると、キャッシュが入っているディレクトリは <os.tmpdir()>/v8-compile-cache-<V8_VERSION>
らしいので、キャッシュディレクトリを探して消したら普通に動くようになった。良かったね。
Discussion