我刚刚安装了Sublime-jshint(以及必需的node.js + jshint)但是当我尝试从ST2中调用JSHint时出现此错误:
[Errno 2] No such file or directory
[cmd: [u'jshint', u'PATH-TO-THE-JS-FILE-I-AM-LINTING', u'--reporter', u'/home/cmg/.config/sublime-text-2/Packages/JSHint/reporter.js']]
[dir: DIR-MY-JS-FILE-IS-IN]
[path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/cmg/bin]
[Finished]
给定路径中的最后一项是在我的用户的主目录(cmg)中,因此它已经被定制以某种方式 ...但我不记得如何,所以我不这样做知道如何添加我需要的目录(~/node_modules/.bin
)。
我已经将它添加到我的shell中的$ PATH(通过.bashrc和.bash_profile),但是ST2不会将其选中。
(我在Ubuntu 14.04上。我在Google上发现的所有可用的东西都是OS X特定的或与ST的构建系统相关的。)
答案 0 :(得分:1)
基本上,jshint包在内部使用的exec
命令允许您设置/扩展生成的子进程的PATH。 (docs)
该软件包实际上在OSX上使用了这个路径参数,但是它已经硬编码了(因为我重新编写命令因为它之前很糟糕,所以我部分内疚)。它应该允许一个设置来指定你的jshint可执行文件的路径,所以我建议你为它创建一个问题。
我不知道为什么ST不能从其他地方拿起你的PATH,因为我对它的经验很少。
答案 1 :(得分:0)
在Sublime中打开/etc/profile
(使用sudo
)并在最底部添加以下行:
export PATH=/home/cmg/node_modules/.bin:$PATH
并保存文件。完全重启,您的PATH
应该更新。