[Atom] The editor has crashed エラーの解決方法 #AtomEditor

出社していつも通り Atom エディターを起動しようとしたら The editor has crashed というエラーで起動できなくなっていました。

無事にエラーを解決できたので、その方法をご紹介します。

The editor has crashed エラーの解決方法

The editor has crashed | Atom.io

Atom を起動できるようにするための解決方法は、

  1. apm list で install されている package を確認する
  2. apm uninstall –hard packageName で package をアンインストールする
  3. Atom をエラーなく起動できるかチェックする

という手順をパッケージ毎に繰り返し試してみるしかなさそうでした。

パッケージのアンインストール後に Atom を正常に起動できたら、そのパッケージがエラーの原因なはずです。

調査の流れ

「パッケージを1つずつアンインストールして Atom の起動を試す」という解決方法に至るまでに調査したことを書き残しておきます。

まず、Atom をオプション付きで起動してログを確認しました。

$ atom -d -f .
2015-11-05 10:20:31.096 Atom[12864:6941378] App load time: 276ms
[12864:1105/102031:INFO:CONSOLE(387)] "Could not load [email protected] because it uses deprecated APIs that have been removed.", source: /Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js (387)

atom-beautifier がダメっぽいのでアンインストールしました。

$ apm uninstall atom-beautifier
Uninstalling atom-beautifier ✓

ログがでなくなったので次に –test オプションを付けて実行してみます。

$ atom --test
[13257:1105/103003:INFO:CONSOLE(27)] "Error: Cannot find module '../lib/atom-jshint-view'
  at Module._resolveFilename (module.js:334:15)
  at Function.Module._resolveFilename (/Applications/Atom.app/Contents/Resources/app.asar/src/module-cache.js:383:52)
  at Function.Module._load (module.js:284:25)
  at Module.require (module.js:363:17)
  at require (module.js:382:17)
  at Object.<anonymous> (/Users/username/.atom/packages/atom-jshint/spec/atom-jshint-view-spec.coffee:1:18)
  at Object.<anonymous> (/Users/username/.atom/packages/atom-jshint/spec/atom-jshint-view-spec.coffee:1:1)
  at Module._compile (module.js:428:26)
  at Object.defineProperty.value [as .coffee] (/Applications/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:169:21)
  at Module.load (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
  at Function.Module._load (module.js:308:12)
  at Module.require (module.js:363:17)
  at require (module.js:382:17)
  at requireSpecs (/Applications/Atom.app/Contents/Resources/app.asar/spec/spec-suite.js:21:7)
  at runAllSpecs (/Applications/Atom.app/Contents/Resources/app.asar/spec/spec-suite.js:78:7)
  at Object.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/spec/spec-suite.js:87:5)
  at Object.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/spec/spec-suite.js:90:4)
  at Module._compile (module.js:428:26)
  at Object.defineProperty.value [as .js] (/Applications/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:169:21)
  at Module.load (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
  at Function.Module._load (module.js:308:12)
  at Module.require (module.js:363:17)
  at require (module.js:382:17)
  at module.exports.runSpecSuite (/Applications/Atom.app/Contents/Resources/app.asar/spec/jasmine-helper.js:60:5)
  at Object.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/spec/spec-bootstrap.js:23:5)
  at Object.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/spec/spec-bootstrap.js:34:4)
  at Module._compile (module.js:428:26)
  at Object.defineProperty.value [as .js] (/Applications/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:169:21)
  at Module.load (module.js:353:32)
  at Function.Module._load (module.js:308:12)
  at Module.require (module.js:363:17)
  at require (module.js:382:17)
  at setupWindow (file:///Applications/Atom.app/Contents/Resources/app.asar/static/index.js:79:25)
  at window.onload (file:///Applications/Atom.app/Contents/Resources/app.asar/static/index.js:35:9)
", source: /Applications/Atom.app/Contents/Resources/app.asar/spec/spec-bootstrap.js (27)

atom-jshint パッケージがエラーの原因っぽいので、これもアンインストールします。

$ apm uninstall atom-jshint
Uninstalling atom-jshint ✓

再び test 実行してみるとログは何も出力されなくなったけど The editor has crashed エラーは未解決のままでした。

$ atom --test

エラーログを確認して問題を特定するという綺麗な解決の流れにしたかったのですが、手掛かりがなくなったので最終的に冒頭に記載した「怪しいパッケージを総当りで uninstall する」という手順にたどり着きました。

もっと良い解決方法をご存知でしたら教えて下さい。

参考情報