Sublime [Errno 2]没有这样的文件或目录:'node'

时间:2013-08-02 10:11:16

标签: node.js sublimetext3 sublime-jslint

在sublime文本中,我在尝试验证JS时遇到以下错误。

[Errno 2] No such file or directory: 'node'
[cmd: ['node', '/Users/gurpreetsingh/Library/Application Support/Sublime Text 3/Packages/JSLint/linter.js', '--sloppy', '--indent', '2', '--node', '--nomen', '--vars', '--plusplus', '--stupid', '--todo', '/Users/gurpreetsingh/Documents/dev/aimia/infrastructure/endeavour-callcentre/endeavour-callcentre-web/src/main/webapp/js/modules/membervalidation.js']]
[dir: /Users/gurpreetsingh/Documents/dev/aimia/infrastructure/endeavour-callcentre/endeavour-callcentre-web/src/main/webapp/js/modules]
[path: /usr/bin:/bin:/usr/sbin:/sbin]
[Finished]


//Additional Information 
Node version :v0.10.13
which node: /usr/local/bin/node
echo $PATH:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin

5 个答案:

答案 0 :(得分:19)

Sublime无法找到节点,因为正如其path列表所示,它不会查找/usr/local/bin。您需要修改设置以指向/usr/local/bin/node,而不仅仅是node,并且您将全部设置。

答案 1 :(得分:13)

我能够通过在(nodejs.org)下载和安装节点来获得节点工作,然后使用以下方法修改Sublime Text 2构建系统:

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

答案 2 :(得分:4)

转到:

偏好设置>套餐设置> JSLint>高级构建设置

然后在安装时设置节点路径。如果您不知道,只需在终端中键入“which node”以找出正确的路径。

答案 3 :(得分:3)

您需要告诉JSLint包您的节点在哪里。以Mac OS X上的Sublime Text 2为例,您需要打开文件/Users/shawnzhu/Library/Application Support/Sublime Text 2/Packages/JSLint/JSLint.sublime-build并更新键cmd的数组值的第一个元素,如下所示:

"/usr/local/bin/node"

然后保存此文件并重新运行Sublime文本

答案 4 :(得分:1)

仅供参考,如果您使用Sublime Text 2,有多种方法可以解决此问题:

  1. 您可以在官方documentation中看到最后一段。
  2. 您可以按照以下说明手动破解它(如果第一种方法不起作用):

    vim ~/Library/Application Support/Sublime Text 2/Packages/JSLint/JSLint.py
    

    然后在第16行,您可以看到path变量,如下所示:

    if os.name == "posix":
        path = "/usr/local/bin:" + os.environ['PATH']
    else:
    

    将您的路径添加到第一个字符串。例如如果您使用macports安装节点:

    path = "/opt/local/bin:/usr/local/bin:" + os.environ['PATH']
    
  3. 不要忘记删除

    rm ~/Library/Application Support/Sublime Text 2/Packages/JSLint/JSLint.pyc
    

    位于同一目录中。