gpt4 book ai didi

vim - Syntastic 没有将 JSHint 检测为可用的检查器

转载 作者:行者123 更新时间:2023-12-04 13:08:24 24 4
gpt4 key购买 nike

我已经用 Pathogen 安装了 Syntastic。

Syntastic 适用于 Python 文件,但不适用于带有 JSHint 的 JavaScript 文件。
JSHint 通过命令行或与其他 vim 插件(如 https://github.com/Shutnik/jshint2.vim)一起工作

→ which jshint  
/usr/local/share/npm/bin/jshint

→ jshint --version
jshint v2.1.10

→ echo $PATH
/usr/local/share/npm/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

当我运行 :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 的路径。

我在 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

这是真的,除了 的含义有点令人惊讶之外。 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 FAQ 的另一份文档阅读:

Q. I installed syntastic but it isn't reporting any errors...

A. The most likely reason is that none of the syntax checkers that it requires is installed. For example: python requires either flake8, pyflakes or pylint to be installed and in $PATH. To see which executables are supported, just look in syntax_checkers//*.vim. Note that aliases do not work; the actual executable must be available in your $PATH. Symbolic links are okay. You can see syntastic's idea of available checkers by running :SyntasticInfo.



解决方案相当于设置 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' .我没有尝试使用 %PATH% 的最后一个解决方案,因为 Winders 不喜欢长 %PATH% 变量。

希望这可以为您节省一些时间。

关于vim - Syntastic 没有将 JSHint 检测为可用的检查器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18661653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com