簡単に言えば。Syntastic には jshint のパスが必要です。
Windows 8 でも同様の問題が発生しましたnodejs
。v0.10.22 およびsyntastic
>= 3.2.0 をインストールした後、Vim コマンド:SyntasticInfo
を実行すると次のようになります。
Syntastic: active mode enabled
Syntastic info for filetype: vim
Available checker(s):
Currently enabled checker(s):
jshint.com/docsにあるドキュメントは、これでモジュールをインストールするのに十分であることを示唆しています。
$ npm install jshint -g
フラグ -gのやや驚くべき意味を除けば、これは本当です。システムにグローバルに JSHint をインストールします。これは、ユーザーの %AppData% フォルダー内を意味します。
(abbreviated output from previous command)
C:\Users\jaroslav\AppData\Roaming\npm\jshint -> \
C:\Users\jaroslav\AppData\Roaming\npm\node_modules\jshint\bin\jshint
jshint@2.3.0 C:\Users\jaroslav\AppData\Roaming\npm\node_modules\jshint
├── console-browserify@0.1.6
├── underscore@1.4.4
├── shelljs@0.1.4
├── minimatch@0.2.12 (sigmund@1.0.0, lru-cache@2.5.0)
└── cli@0.4.5 (glob@3.2.7)
syntastic FAQの別のドキュメントには次のように書かれています。
Q. syntastic をインストールしましたが、エラーが報告されません...
A.最も可能性の高い理由は、必要な構文チェッカーがインストールされていないことです。例: python には、flake8、pyflakes、または pylint のいずれかがインストールされ、$PATH にある必要があります。サポートされている実行可能ファイルを確認するには、syntax_checkers//*.vim を参照してください。エイリアスは機能しないことに注意してください。実際の実行可能ファイルは $PATH で利用可能でなければなりません。シンボリックリンクは問題ありません。:SyntasticInfo を実行すると、使用可能なチェッカーの syntastic のアイデアを確認できます。
jshint
解決策は ~/.vimrcにコマンドのパスを設定することです:
let g:syntastic_jshint_exec='C:\Users\jaroslav\AppData\Roaming\npm\jshint.cmd'
:source $HOME/_vimrc
:SyntasticInfo
Syntastic: active mode enabled
Syntastic info for filetype: javascript
Available checker(s): jshint
Currently enabled checker(s): jshint
または、次のことができます。
> cmd.exe
> cd C:\Users\jaroslav\AppData\Roaming\npm
> setx PATH "%cd%:%PATH%"
とlet g:syntastic_jshint_exec='jshint.cmd'
。Winders は長い %PATH% 変数を好まないため、%PATH% を使用した最後のソリューションは試しませんでした。
うまくいけば、これで時間を節約できます。