Shortly speaking; Syntastic needs a jshint path.
I ran into a similar problem in Windows 8. After installing nodejs v0.10.22 and syntastic > = 3.2.0 the Vim :SyntasticInfo would give me:
Syntastic: active mode enabled Syntastic info for filetype: vim Available checker(s): Currently enabled checker(s):
The documentation at jshint.com/docs suggests that this is enough to install the module.
$ npm install jshint -g
This is true, except for the somewhat surprising value of the -g flag, install JSHint globally on your system . This means that in the user folder% 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 )
Another part of the syntax FAQ 's documentation reads:
Q. I installed the syntax, but it does not report any errors ...
a. The most likely reason is that none of the syntax checks that it requires are set. For example: for python you need to install flake8, pyflakes or pylint in $ PATH as well. To find out which executables are supported, just look in the syntax_checkers // * file. Vim. Note that aliases do not work; the actual executable must be available in $ PATH. Symbolic links are in order. You can see the syntactic idea of ββthe available checkers by doing: SyntasticInfo.
The solution boils down to setting the jshint command jshint to ~ / .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
Alternatively, one could:
> cmd.exe > cd C:\Users\jaroslav\AppData\Roaming\npm > setx PATH "%cd%:%PATH%"
and let g:syntastic_jshint_exec='jshint.cmd' . I have not tried the last solution with% PATH% because Winders does not like long% PATH% variables.
Hope this saves you some time.