2014-09-22 41 views
0

我刚安装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] 

在给定的路径中的最后一项是的家目录我的用户(厘米),所以它被定制莫名其妙地 ...但我不记得如何,所以我不知道如何添加我需要的目录(~/node_modules/.bin)。

我已经将它添加到我的shell中的$ PATH(通过.bashrc和.bash_profile),但ST2并没有把它拿起来。我在Ubuntu 14.04上找到的所有可用的东西都是通过Google在这个主题上找到的,或者是OS X特有的或者与ST的构建系统相关的。

回答

0

打开/etc/profile的崇高(使用sudo),并在最底部添加以下行:

export PATH=/home/cmg/node_modules/.bin:$PATH 

并保存文件。完全重新启动,并且您的PATH应该被更新。

+0

谢谢。我的意思是在这个问题上注意 - 目标是在我的$ PATH中,但ST2并没有采用它。 – 2014-09-23 16:55:07

+0

另外 - 如果我通过'subl'命令启动ST,它会从我的shell获取$ PATH。但我通常通过Unity启动器或Kupfer启动它。 – 2014-09-23 18:29:51

+0

另外设置PATH桌面快捷方式:http://stackoverflow.com/questions/25994666/setting-environment-variables-for-sublime-text-on-osx-desktop/25996724#25996724 – 2014-09-25 13:06:47

1

基本上,jshint软件包在内部使用的exec命令允许您设置/扩展生成的子流程的PATH。 (docs

该软件包实际上在OSX上使用了这个路径参数,但它有硬编码(当我重写了命令,因为之前它太可怕了,所以我部分地犯了这个错误)。它应该允许设置指定你的jshint可执行文件的路径,所以我建议你为此创建一个问题。

我不知道为什么ST不会从别的地方拿起你的PATH,因为我对此没有什么经验。

+0

我以前没见过你,欢迎光临! – MattDMo 2014-09-25 15:14:39

+0

谢谢。有人在IRC频道中链接了这个主题。虽然我不积极浏览问题。 – FichteFoll 2014-10-02 14:49:41