如何扩展Sublime Text 2使用的$ PATH?

时间:2014-09-22 20:31:01

标签: sublimetext2 sublimetext ubuntu-14.04 jshint

我刚刚安装了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的构建系统相关的。)

2 个答案:

答案 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应该更新。