Sublimetext3 如何在Windows中为Sublime JSHint插件指定SublimiteText3中节点的路径

Sublimetext3 如何在Windows中为Sublime JSHint插件指定SublimiteText3中节点的路径,sublimetext3,jshint,Sublimetext3,Jshint,在使用SublimiteText3在Windows XP上安装node.js和Sublimite JSHint插件后,我发现以下错误: “在默认路径中找不到Node.js。请指定位置。” 这是一个已知的配置问题,作者对此进行了记录,但我无法确定如何指定路径。有人能告诉我如何在Windows XP中指定路径吗 我试过了 "node_path": "/Program Files/nodejs", "node_path": "C:/Program Files/nodejs", "node_pat

在使用SublimiteText3在Windows XP上安装node.js和Sublimite JSHint插件后,我发现以下错误:

“在默认路径中找不到Node.js。请指定位置。”

这是一个已知的配置问题,作者对此进行了记录,但我无法确定如何指定路径。有人能告诉我如何在Windows XP中指定路径吗

我试过了

"node_path": "/Program Files/nodejs",

"node_path": "C:/Program Files/nodejs",

"node_path": "/Program Files/nodejs/node.exe",

"node_path": "C:/Program Files/nodejs/node.exe",
试用

"node_path": "/c/Program Files/nodejs/node.exe"
并确保此选项位于
包/User/JSHint.sublime设置文件中。我不确定您的上一个设置为什么不起作用,因为它的格式也是有效的,但希望使用Cygwin样式路径会起作用。

这对我来说很有用:


“node_path”:“C:/Program Files/nodejs/node.exe”

这终于对我起作用了:

"node_path": "\"C:/Program Files (x86)/nodejs/node.exe\"",
我在Windows7上,所以节点安装在程序文件(x86)中。只需敲一下程序文件中安装了if节点的“(x86)”部分

基本上,我必须在Windows中启动
cmd
应用程序并键入命令,直到找到一个可以吐出节点帮助文本的应用程序:

"c:/Program Files (x86)/nodejs/node.exe" --help

我必须用双引号将文件路径括起来,因为文件路径中有空格字符和括号。
“node\u path”
配置设置还需要用双引号括起来的文件路径,必须对其进行转义。

我发现了另一个导致显示该错误的问题。它位于注册表编辑器上。HKEY\U CURRENT\U USER\Software\Microsoft\Command Processor我在这里设置了自动运行键以加载c:\profile.bat,在这里我添加了升华路径从cmd运行升华。但是,当我打开cmd时,它会出错(实际上是由powershell完成的)。删除key node.js后,路径工作正常。希望这能对某人有所帮助。

我在html-css-js.prettify中遇到了这个问题。最后,所有这些问题对我都不起作用,我不得不注释掉HTMLPrettify.py的第58-62行,这样剩下的唯一一行就可以用该行查找路径了

node = settings.get("node_path")
我重新启动了SublimiteText,它开始工作


我认为类似的解决方案可能适用于JSHint

我只需更改python脚本,并将我的节点路径指定给node_path,而不是get_node_path()。或者您可以设置
get\u node\u path()
以返回
C:\\DevTools\\nodejs\\node.exe

%APPDATA%\Sublime Text 2\Packages\HTML-CSS-JS Prettify\HTMLPrettify.py

line 81  def run_script_on_file(self, temp_file_path):
    try:
      node_path = "C:\\DevTools\\nodejs\\node.exe"
嗯,你应该

Ctrl + ` // or View => Show Console
看看出了什么问题

通常,这不是Node.js路径问题

例如,我能看到的是

UnicodeDecodeError: 'ascii' codec can't decode byte 0xcd in position 0: ordinal not in range(128)
因此,我搜索了它,并用以下方法解决了它:

// HTMLPrettify.py
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

import sublime, sublime_plugin
import os, sys, subprocess, codecs, webbrowser

reload(sys) # NEW LINE !!! <================
sys.setdefaultencoding("utf-8") # NEW LINE !!! <================
//HTMLPrettify.py
#此源代码表单受Mozilla Public的条款约束
#许可证。2.0. 如果MPL的副本未随此一起分发
#文件,您可以在http://mozilla.org/MPL/2.0/.
导入升华,升华插件
导入操作系统、系统、子流程、编解码器、webbrowser

重新加载(系统)#新线 在我的情况下,此设置不起作用

"node_path": "/usr/lib/nodejs/node-v6.11.0/bin/node",
但这是有效的

"node_path": { "linux" : "/usr/lib/nodejs/node-v6.11.0/bin/node" }
必须在JSHint.sublime设置文件中进行此更改

希望这有帮助!虽然更改会立即生效,但我会在更改后尝试重新启动Sublime,以确保这是否解决了您的问题。

什么对我有效:
我在程序文件和程序文件(x86)中搜索了node.exe。 然后我在某个文件夹中得到了一个名为node.exe的文件,我复制了它的路径并像这样粘贴

/path/node.exe

注意:您必须将
\
更改为
/

,这看起来很有希望,但我仍然得到相同的错误。我尝试创建Packages/User/JSHint.sublime-settings,但每当出现错误时,单击OK就会打开Packages/JSHint/JSHint.sublime-settings。我试着注释掉该文件中的node_路径行,并将其全部删除。谢谢你的努力though@plainflavour这里还有另一个选项-将节点路径添加到Windows
path
变量中。右键单击“我的电脑”,选择“属性”,转到“高级”选项卡,单击“环境变量”按钮,然后找到路径变量并单击“编辑”。转到已经存在的内容的末尾,在最后一个条目之后添加
;C:\Program Files\nodejs
(确保包含
)。单击确定,然后重新启动升华,看看它现在是否工作…嗨,再次感谢您的帮助。我试过了,但还是没用。我还重新安装了node和JSHint插件,但我想它在XP中不起作用。这太糟糕了。如果说这是一个安慰的话,它正朝着为ST3发布的方向发展,它默认包括(或包括)JSHint。如果你绝对需要它,并且找不到其他插件,你可以降级到Sublime Text 2并使用…太好了,我会留意的。希望在那之前我能得到一台新电脑!谢谢,记得添加
node.exe
也帮了我的忙:-)如果HTML文件的文件路径包含非sacii字符,升华将提示“默认路径中找不到node.js。请指定位置。”