【问题标题】:Node Build System in Sublime Text 2 for the First TimeSublime Text 2 中的第一次节点构建系统
【发布时间】:2013-12-21 15:01:36
【问题描述】:

我已经阅读 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。即使我还没有找到另一个线程,我也很乐意放弃声誉积分来解决我的问题。

干杯!

【问题讨论】:

  • 我很抱歉。我忘记发布错误了!我正在运行的文件名为 fizzbuzz.js。 [Errno 2] 没有这样的文件或目录 [cmd: [u'nodejs', u'/Users/David/dev/HTML/lab/12-20-13/fizzbuzz.js']] [dir: /Users/David /dev/HTML/lab/12-20-13] [路径:/usr/bin:/bin:/usr/sbin:/sbin] [完成]
  • 你可能想通过thisthis

标签: javascript node.js build path sublimetext2


【解决方案1】:

有三个选项可以让您的构建系统正常工作。

首先,您可以编辑您的 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 中概述了第三个选项,它是 Mountain Lion 所必需的(不确定小牛队)。基本上,您需要编辑/etc/launchd.conf(如果不存在则创建它)来定义PATH,然后保存并重新启动。这是必要的,因为 10.8 上的 launchctl 命令没有执行我们希望它执行的操作。此选项可能也适用于 Lion,但我尚未对其进行测试,因为我在开发之前已经升级到 Mt Lion。

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

【讨论】:

  • Matt,我按照stackexchange 的说明进行操作,但唯一改变的是我在使用节点构建时出现的错误消息:('[path: /usr/local/bin:/usr/ local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/Users/David/bin:/path/to/gems/bin]')。
  • @David - 如果您像选项 1 一样更改 .sublime-build 文件会发生什么?另外,在命令行运行which node,输出是什么?
  • @David - 等一下,我刚刚重读了您的错误消息。它说它正在寻找nodejs,而你的构建文件说node。您确定使用正确的文件进行构建吗?
  • 我很抱歉。在我再次更改 Node.sublime-build 文件之前,我匆匆回答。一切正常。至于在我更新 Ruby 时更新路径,RVM 会处理这个问题,还是我会想办法在我到达它时跨过那座桥?
  • @David - 你必须自己更新它,因为 RVM 不知道去那里看。
猜你喜欢
  • 1970-01-01
  • 2013-07-12
  • 2013-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-28
  • 2020-10-07
  • 1970-01-01
相关资源
最近更新 更多