SublimeLinter:警告:jshint已停用,无法找到“jshint”。

4

这完全是随机发生的。我只是重新启动了Sublime,接着我就不得不重新设置git.exe的路径,而且SublimeLinter jshint也出了问题。我已经尝试过以各种顺序卸载和重新安装SublimeLinter和SublimLinter-jshint来修复它。

我还使用npm全局安装了jshint。

SublimeLinter默认/用户设置:

{
    "default": {
        "debug": false,
        "delay": 0.25,
        "error_color": "D02000",
        "gutter_theme": "Packages/SublimeLinter/gutter-themes/Default/Default.gutter-theme",
        "gutter_theme_excludes": [],
        "lint_mode": "background",
        "mark_style": "outline",
        "no_column_highlights_line": false,
        "paths": {
            "linux": [],
            "osx": [],
            "windows": ["C:\\Users\\x\\AppData\\Roaming\\npm\\node_modules\\jshint\\bin"]
        },
        "python_paths": {
            "linux": [],
            "osx": [],
            "windows": []
        },
        "rc_search_limit": 3,
        "shell_timeout": 10,
        "show_errors_on_save": false,
        "show_marks_in_minimap": true,
        "syntax_map": {
            "python django": "python",
            "html 5": "html",
            "html (django)": "html",
            "html (rails)": "html",
            "php": "html"
        },
        "warning_color": "DDB700",
        "wrap_find": true
    }
}

控制台:

SublimeLinter: jshint linter loaded 
reloading plugin SublimeLinter.commands
reloading plugin SublimeLinter.sublimelinter
plugins loaded
SublimeLinter: debug mode: on 
SublimeLinter: temp directory: c:\users\x\appdata\local\temp\SublimeLinter3 
SublimeLinter: computed PATH from system:
C:\Users\x\AppData\Roaming\npm\node_modules\jshint\bin
C:\Program Files\Common Files\Microsoft Shared\Windows Live
C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live
C:\Windows\system32
C:\Windows
C:\Windows\System32\Wbem
C:\Windows\System32\WindowsPowerShell\v1.0\
C:\Program Files\ThinkPad\Bluetooth Software\
C:\Program Files\ThinkPad\Bluetooth Software\syswow64
C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static
C:\Program Files (x86)\Common Files\Lenovo
C:\Program Files (x86)\Common Files\Roxio Shared\10.0\DLLShared\
C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\
C:\Program Files (x86)\Lenovo\Access Connections\
C:\Program Files\Common Files\Lenovo
C:\Program Files (x86)\Lenovo\Client Security Solution
C:\Program Files\Lenovo\Client Security Solution
C:\Program Files (x86)\OpenLDAP\kfw\Binary
C:\Program Files (x86)\Windows Live\Shared
C:\Program Files\Microsoft\Web Platform Installer\
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\
C:\PROGRA~1\IBM\SQLLIB\BIN
C:\PROGRA~1\IBM\SQLLIB\FUNCTION
C:\Program Files\nodejs\
C:\Python27

SublimeLinter: WARNING: jshint deactivated, cannot locate 'jshint' 
SublimeLinter: found existing HTML syntax, version 3 
SublimeLinter: found existing Rails syntax, version 1 
found 3 files for base name Main.sublime-menu
Package Control: Skipping automatic upgrade, last run at 2014-07-30 10:51:51, next run at 2014-07-30 11:51:51 or after

SublimeLinter 要求您在路径中安装 jshint。您是否尝试打开终端窗口并查看键入 jshint --version 时会发生什么?您应该会看到类似于 jshint v2.5.0 的响应。 - Jonathan Wren
哦...我以为SublimeLinter知道路径就可以了(那有点冗余了...?)。好的,把它放在PATH里面就可以了。谢谢。 - 2778
好的,我会将其发布为答案。 - Jonathan Wren
2个回答

4

如果你和我一样,由于工作限制无法修改Windows的PATH变量,你可以像我在SublimeLinter的评论中所做的那样将路径添加到默认设置和用户设置中。这适用于Sublime 3版本3065。

{
    "default": {
        "debug": false,
        "delay": 0.25,
        "error_color": "D02000",
        "gutter_theme": "Packages/SublimeLinter/gutter-themes/Default/Default.gutter-theme",
        "gutter_theme_excludes": [],
        "lint_mode": "background",
        "mark_style": "outline",
        "no_column_highlights_line": false,
        "paths": {
            "linux": [],
            "osx": [],
            "windows": ["C:/Users/myUserName/AppData/Roaming/npm"]
        },
        "python_paths": {
            "linux": [],
            "osx": [],
            "windows": []
        },
        "rc_search_limit": 3,
        "shell_timeout": 10,
        "show_errors_on_save": false,
        "show_marks_in_minimap": true,
        "syntax_map": {
            "python django": "python",
            "html 5": "html",
            "html (django)": "html",
            "html (rails)": "html",
            "php": "html"
        },
        "warning_color": "DDB700",
        "wrap_find": true
    }
}

实际上,它在Win 8机器上帮了我。 - agriboz

4
根据SublimeLinter文档,它要求您在路径中拥有linter可执行文件。
大多数linter插件需要您安装linter二进制文件或库,并配置您的PATH,以便SublimeLinter可以找到它。您必须遵循linter插件的安装说明才能成功使用它。
您是否尝试打开终端窗口并查看如果键入jshint --version会发生什么?如果它已经在您的路径中,您应该会看到类似于jshint v2.5.0的响应。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接