SublimeText3 で WARNING: eslint cannot locate 'eslint'


環境

  • Windows 7
  • Sublime Text 3 build 3143
  • SublimeLinter v4.0.6
  • SublimeLinter-eslint v4.0.2

症状

jsファイルを開くと

WARNING: eslint cannot locate 'eslint'
と出るようになった。

前兆

SublimeLinterが4に自動更新された旨のメッセージがSublimeTextの起動時に表示されていたはず。
たいていよく読まずに閉じるので…
互換性に関する注意点があったのやも。

SublimeLinter/SublimeLinter at 9ab69635424de0b7923641147e98881ab2a3a84f

Upgrading from SublimeLinter 3

You can read about all the changes here. If you're not ready for this, you can manually install the last SL3 release.

Perhaps most important are changes to settings. Inline settings and .sublimelinterrc configurations files no longer work. If you need inline or per-directory overrides, most linters provide features for that. Project settings are still there though, and you can use several variables in them now.

There is no longer a global "python" setting, but it can be set per linter. Linters now also have "executable" settings, and styles can be customized per linter (and even per error code). The default settings have a lot of documentation in them to help you tweak them. Also be sure to check the keybindings, they have several options too.

ぐーぐるほんやく

SublimeLinter 3からのアップグレード

ここではすべての変更について読むことができます 。 この準備が整っていない場合は、最後のSL3リリースを手動でインストールできます。

おそらく最も重要なのは、設定の変更です。 インライン設定と.sublimelinterrc設定ファイルは動作しません。 インラインまたはディレクトリ単位のオーバーライドが必要な場合は、ほとんどのlinterがその機能を提供します。 しかし、 プロジェクト設定はまだそこにあり、今ではいくつかの変数を使うことができます。

もはやグローバルな"python"設定はありませんが、リンターごとに設定することができます。 Linterには"実行可能な"設定があり、スタイルはlinterごと(およびエラーコードごとに)カスタマイズすることができます。 デフォルト設定には、それらを調整するのに役立つ多くのドキュメントがあります。 また、キーバインディングを確認してください、彼らはまたいくつかのオプションがあります。

また、SublimeLinterの(user)Settingsが空オブジェクトになっていた。

解決策

C:\Users\khsk\AppData\Roaming\Sublime Text 3\Packages\User


SublimeLinter.sublime-settings
と並び
SublimeLinter (old).sublime-settings
が存在していた。
どうやら旧設定の退避場所らしい。

oldの内容をそのままSublimeLinter.sublime-settingsにコピペする。
保存すると、使えないディレクティブがあると一つずつエラーが出るので、それを消していき、エラーがでなくなると以前のように使えるようになった。

現状のsettingsは以下

// SublimeLinter Settings - User
{
    "debug": false,
    "delay": 0.25,
    "lint_mode": "background",
    "linters": {
        "eslint": {
            "@disable": false,
            "args": [
                "--config",
                "C:\\Users\\khsk\\Documents\\node\\eslint-use\\.eslintrc.json"
                ],
            "excludes": []
        }
    },
    "no_column_highlights_line": false,
    "paths": {
        "linux": [],
        "osx": [],
        "windows": [
            "C:\\Users\\khsk\\Documents\\node\\eslint-use\\node_modules\\.bin"
        ]
    },
    "show_marks_in_minimap": true,
    "syntax_map": {
        "html (django)": "html",
        "html (rails)": "html",
        "html 5": "html",
        "javascript (babel)": "javascript",
        "magicpython": "python",
        "php": "html",
        "python django": "python",
        "pythonimproved": "python"
    },
}


書いててよかった導入時メモ

追記

編集リクエストごもっともで座右の銘から外れるのですが、
文字列が多くプレビューで赤々しいので今回はjsonシンタックスハイライトを見送っております。