【问题标题】:Sublime [Errno 2] No such file or directory: 'node'Sublime [Errno 2] 没有这样的文件或目录:'node'
【发布时间】:2013-08-03 13:47:24
【问题描述】:

在 sublime text 上,我在尝试验证 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

【问题讨论】:

    标签: node.js sublimetext3 sublime-jslint


    【解决方案1】:

    Sublime 找不到节点,因为它的path 列表显示,它不在/usr/local/bin 中查找。您需要将设置修改为指向/usr/local/bin/node,而不仅仅是node,然后一切就绪。

    【讨论】:

    • 我需要在哪里更改这些设置?
    • 你使用的是哪个 sublime-jslint 插件?有两个。
    • 不确定,如何才能知道?
    • 使用 cmd+shift+p 打开 Package Control,然后输入 PCL 进入“Package Control: List Packages”。点击回车,然后输入jslint。包名(大写,在顶部)应该是“JSLint”或“sublime-jslint”
    • 没问题。打开 ~/Library/Application Support/Sublime Text 3/Packages/JSLint/JSLint.sublime-build 并将 /usr/local/bin/ 添加到第 3 行的 node 命令中。保存文件,一切准备就绪。
    【解决方案2】:

    我可以通过在 (nodejs.org) 下载和安装 node 来让 node 工作,然后使用以下代码修改 Sublime Text 2 构建系统:

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

    【讨论】:

    • 对我来说就像一个魅力!
    【解决方案3】:

    转到:

    首选项 > 包设置 > JSLint > 高级构建设置

    然后按照您安装的方式设置节点路径。如果您不知道,只需在终端中输入“哪个节点”即可找到正确的路径。

    【讨论】:

    • 在键绑定和用户设置(用户和默认)中的 JSlint 上没有这样的导航。如何在 sublime text3 中做
    【解决方案4】:

    你需要告诉 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 文本

    【讨论】:

      【解决方案5】:

      仅供参考,如果您使用的是 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']
        

      别忘了删除

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

      在同一个目录中。

      【讨论】:

      • 你在前面加上相同的字符串 /opt/local/bin 或者我们需要在 nodejs 路径前面加上 /usr/bin/nodejs
      • #2 在 ST3 中也为我工作过。
      猜你喜欢
      • 2021-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-20
      • 2015-11-19
      • 2013-03-21
      • 2015-04-09
      相关资源
      最近更新 更多