Sublimetext3 如何在Linux Mint 17肉桂中的Sublimiter中启用JSHint?
期望的行为 用升华文本3删除.js文件 实际行为 没有发生脱毛 例如,以下内容显示没有错误: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
var x = ""
复制步骤
环境
- 薄荷17肉桂
- 升华文本构建3065
工具>升华仪>林特模式>“背景”
工具>升华仪>标记样式>“填充”
- 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”可执行文件的任何其他可执行文件都找不到,也无法工作
修复
您有很多选择:
$ jshint --version
jshint v2.5.10
快乐林汀!正如您所说,这将起作用,但根据您的要求,我在下面提供了一个答案,告诉您为什么/如何以及一些替代方案。
sudo apt-get install nodejs-legacy
$ jshint --version
jshint v2.5.10