Vim Syntastic不';t将JSHint检测为可用的检查器

Vim Syntastic不';t将JSHint检测为可用的检查器,vim,jshint,syntastic,Vim,Jshint,Syntastic,我已经安装了带有病原体的Syntastic Syntastic适用于Python文件,但不适用于带有JSHint的JavaScript文件。 JSHint通过命令行或其他vim插件(如 当我运行:SyntasticInfo时,它找不到任何跳棋 Syntastic info for filetype: javascript Available checkers: Currently active checker(s): 我的vimrc set nocompatible filetype off

我已经安装了带有病原体的Syntastic

Syntastic适用于Python文件,但不适用于带有JSHint的JavaScript文件。 JSHint通过命令行或其他vim插件(如

当我运行:SyntasticInfo时,它找不到任何跳棋

Syntastic info for filetype: javascript
Available checkers:
Currently active checker(s):
我的vimrc

set nocompatible
filetype off
call pathogen#infect()
call pathogen#helptags()
filetype plugin indent on
syntax on

let g:syntastic_check_on_open=1
let g:syntastic_javascript_checkers = ['jshint']
我不知道我错过了什么,如果你知道为什么Syntastic没有检测到JSHint的话。谢谢

长话短说;Syntastic需要jshint的路径。
我在Windows8上遇到了类似的问题。安装
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):
at上的文档表明,这足以安装模块

$ npm install jshint -g
这是真的,除了flag-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,但它没有报告任何错误

A.最可能的原因是没有安装它所需的语法检查器。例如:python要求安装flake8、pyflakes或pylint,并且安装在$PATH中。要查看支持哪些可执行文件,只需查看syntax_checkers//*.vim注意别名不起作用;实际的可执行文件必须在$PATH中可用。符号链接可以。通过运行:SyntasticInfo,您可以看到syntastic关于可用检查程序的想法

解决方案相当于在~/.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%"
让g:syntastic\u jshint\u exec='jshint.cmd'。我没有使用%PATH%尝试上一个解决方案,因为Winders不喜欢长%PATH%变量


希望这能为您节省一些时间。您尝试过搜索“syntastic”和“jshint”吗?可能重复的是,我已经尝试并看到了这篇文章,但它不适合我。我只是想知道为什么JSHint不是一个可用的chercker。还要注意syntastic需要JSHint>=1.0,它不会注册低于该值的版本。
> cmd.exe
> cd C:\Users\jaroslav\AppData\Roaming\npm
> setx PATH "%cd%:%PATH%"