Sublime Text 2中的节点构建系统

时间:2013-12-21 15:01:36

标签: javascript node.js build path sublimetext2

我已阅读this发布有关Sublime Text 2节点错误的帖子,this发布找到节点安装位置的帖子,this发布了似乎相同的问题,但到目前为止他们都没有帮助过。我也更喜欢使用node.js.请记住,我是一个编程新手,所以对目录位置的描述将是绝对路径名,以便我理解。

我按照说明here,我的Node.sublime-build文件如下所示:

{
    "cmd": ["node", "$file", "$file_base_name"],
    "working_dir": "${project_path:${folder}}",
    "selector": "*.js"
}

我重新启动了Sublime Text 2,但它没有用。我重新启动了我的电脑,但无济于事。 目前,/ usr / local / bin是存储节点的地方,而我的$ PATH包含该目录。至少,我认为。我的$ PATH(我在bash_profile中)看起来像这样:

-bash: /Users/David/.rvm/gems/ruby-2.0.0-p353/bin:/Users/David/.rvm/gems/ruby-2.0.0-p353@global/bin:/Users/David/.rvm/rubies/ruby-2.0.0-p353/bin:/Users/David/.rvm/bin:/usr/local/heroku/bin:/Users/David/.rbenv/shims:/Users/David/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin: No such file or directory

我认为解决方案可以在Sublime Text 2控制台错误消息的行中找到,

[path: /usr/bin:/bin:/usr/sbin:/sbin]

我需要将/ usr / local / bin:插入其中吗?如果是这样,怎么样?我正在运行Mac OS X 10.7.5。即使有另一个我没有找到的主题,我也很乐意放弃声望点,以便解决我的问题。

干杯!

1 个答案:

答案 0 :(得分:0)

有三种方法可以让您的构建系统发挥作用。

首先,您可以将Node.sublime-build文件编辑为:

{
    "cmd": ["/usr/local/bin/node", "$file", "$file_base_name"],
    "working_dir": "${project_path:${folder}}",
    "selector": "*.js"
}

/usr/local/bin/添加到node命令的开头,以提供其完全限定的路径。


或者,既然你是Lion(这并不适用于Mt Lion),你就可以改变Dock启动程序的路径(默认情况下它是/usr/bin:/bin:/usr/sbin:/sbin,正如你所见)。从终端,运行以下内容:

launchctl setenv PATH $PATH

(您可能必须在其前面添加sudo,我不确定)。 ,运行:

osascript -e 'tell app "Dock" to quit'

并重新启动Sublime。这样做的好处是允许其他构建系统(我特别想到Ruby,因为你正在使用RVM)开箱即用,而不会弄乱他们的.sublime-build文件。对于这个和下一个选项,您需要记住在更新Ruby时更新路径。


在我的回答here中概述了山狮(不确定小牛队)所必需的第三个选项。基本上,您需要编辑/etc/launchd.conf(或创建它,如果它不存在)来定义PATH,然后保存并重新启动。这是必要的,因为10.8上的launchctl命令不能完成我们想要它做的事情。这个选项也适用于Lion,但我还没有对它进行测试,因为我在开发之前已经升级到Mt Lion。

我希望这一切都有帮助。祝你好运!