Sublimetext3 如何在Linux Mint 17肉桂中的Sublimiter中启用JSHint?

Sublimetext3 如何在Linux Mint 17肉桂中的Sublimiter中启用JSHint?,sublimetext3,jshint,linux-mint,sublimelinter,Sublimetext3,Jshint,Linux Mint,Sublimelinter,期望的行为 用升华文本3删除.js文件 实际行为 没有发生脱毛 例如,以下内容显示没有错误: var x = "" 复制步骤 环境 薄荷17肉桂 升华文本构建3065 工具>升华仪>林特模式>“背景” 工具>升华仪>标记样式>“填充” 在升华文本中(安装升华浏览器和JSHint插件) ctrl+shift+p 包控制:安装包 安装升华仪 安装SublimiterJShint插件 在命令行中 安装node.js、npm和jshint时使用: sudo apt get install

期望的行为

用升华文本3删除.js文件

实际行为

没有发生脱毛

例如,以下内容显示没有错误:

var x = "" 
复制步骤

环境

  • 薄荷17肉桂
  • 升华文本构建3065
  • 工具>升华仪>林特模式>“背景”
  • 工具>升华仪>标记样式>“填充”
在升华文本中(安装升华浏览器和JSHint插件)

  • ctrl+shift+p
  • 包控制:安装包
  • 安装升华仪
  • 安装SublimiterJShint插件
在命令行中

  • 安装node.js、npm和jshint时使用:

    sudo apt get install nodejs npm

    sudo npm安装-g jshint

退出并重新启动升华文本

故障排除

在命令行:

hash -r
which jshint

returns

/usr/local/bin/jshint
我还尝试了此解决方案(),包括手动更改
Preferences>Package Settings>sublimeLineter>“Settings-User”
中的路径,并重新启动了Sublime Text,但没有任何更改:

"paths": {
    "linux": ["/usr/local/bin/jshint"],
    "osx": [],
    "windows": []
},
文件参考

关于如何安装jshint插件:

更新

我刚刚在命令行中运行了此命令-结果可能有助于排除故障:

jshint --version
/usr/bin/env: node: No such file or directory
这也会出现在Sublime文本控制台中:

SublimeLinter: WARNING: no jshint version could be extracted from:
/usr/bin/env: node: No such file or directory

这似乎可以让JSHint发挥作用——但如果有人能确认这是最好的方法,那就太好了:

我发现,如果您是从 您所在的包管理器可能被称为nodejs,所以您只需要 将其符号链接为“ln-s/usr/bin/nodejs/usr/bin/node”

注意:使用此解决方案,无需对
首选项>软件包设置>SublimeLineter>“设置-用户”
中的路径进行调整

您(OP)提供的解决方案将起作用,但我将给出一些解释,向您展示如何验证问题,提供一些其他选项,也许还有一些最佳实践(这是您发布答案时所寻求的)

问题 问题是jshint可执行文件希望使用“node”解释器运行,而系统在路径中找不到与名称“node”匹配的可执行文件。(我相信“node”以前是标准名称,但现在通常指使用“nodejs”,因为担心“node”名称为泛型,与其他可执行文件冲突。)

以下是您如何看到正在发生的事情…在终端,请执行以下操作: -通过执行“which jshint”(应该在“/usr/local/bin”中找到它),找到jshint可执行文件的路径 -通过发出“cat/usr/local/bin”来查看内容。您将看到第一行指定要使用的解释器,即“node”(而不是“nodejs”)

原因 当前,当您使用软件包管理器安装Node.js时,名为“nodejs”的Debian软件包将创建可执行文件“/usr/bin/nodejs”。因此,指定“Node”可执行文件的任何其他可执行文件都找不到,也无法工作

修复 您有很多选择:

  • 最快最简单。为“节点”创建指向“节点”的符号链接(实际上是“快捷方式”)。您的答案中有一个版本。一般认为,将此链接放置在路径中的某个位置(而不是/usr/bin,例如/usr/local/bin)是更好的做法。目录受保护,因此您需要超级用户权限才能在目标中创建链接。因此,要发出的命令是:

    sudo ln -s /usr/bin/nodejs /usr/local/bin/node"
  • 安装“nodejs legacy”(带有链接的那一个)
  • 最后,您可以手动安装Node.js,也可以构建Node.js

  • 验证 您可以通过发出命令“jshint--version”来验证jshint现在是否可以运行,该命令现在应该如下所示:
    $ jshint --version
    jshint v2.5.10


    快乐林汀!

    正如您所说,这将起作用,但根据您的要求,我在下面提供了一个答案,告诉您为什么/如何以及一些替代方案。
    sudo apt-get install nodejs-legacy
    $ jshint --version
    jshint v2.5.10