発生した環境、状況
- Mac (シェルスクリプトは zsh)
- node.js は node brew で動かしている
- ~/.zshrc で node へのパスは設定済み (
export PATH=$HOME/.nodebrew/current/bin:$PATH
) - bash → zsh 移行、node 本体のアップデート、node パッケージのアップデート などを行った後に発生 (原因は特定できていない)
エラー内容
JavaScript ファイルを開くと、ウインドウ下部に下記のエラーメッセージが出て、SublimeLinter が正常に機能しない
SublimeLinter: #5 eslint gulpfile.babel.js ERROR:
=================================================
env: node: No such file or directory
解決方法
SublimeLinter パッケージの設定で、node へのパスを指定してやることで解決した
// SublimeLinter Settings - User
{
"linters": {
"eslint": {
"env": {"PATH":"~/.nodebrew/current/bin"}
}
}
}
他パッケージでも同様のエラーが出る場合、ここに設定を追加すれば解決するはず。
(例:sass-lint なら "sass":{"env": {"PATH":"/usr/local/bin/"}}
を追記)
他の解決法
.zprofile でPATHを通しとく方法もある。こっちの方がいいか?
SublimeLinter-eslintでauto fixする | tsuyuki.makoto
メモ
- .eslintrc と .sublime-project の内容を合わせておく
- 設定ファイルのファイルネーム .eslintrc (中身は JSON) は現在は非推奨で、今は .eslintrc.json と書くらしい。でも変更するとエラーが出たので、.eslintrc ままにした(TODO:解決)