【问题标题】:Nodejs build sublime-text2Nodejs 构建 sublime-text2
【发布时间】:2014-03-23 19:57:35
【问题描述】:

我正在尝试使用 sublime-text 2,已经为 Windows 安装了 Nodejs,通过包控制安装了 Nodejs 插件,我收到以下错误:

错误:找不到进程“node.exe”。

文件名、目录名或卷标语法不正确。

[在 0.1 秒内完成,退出代码为 1]

我已将 NODE_PATH: C:\Program Files\nodejs\node.exe 设置为我的用户环境变量 我的系统变量 PATH 中有:C:\Program Files\nodejs\

我的 Nodejs.sublime-settings 设置如下:

{
  // save before running commands
  "save_first": true,
  // if present, use this command instead of plain "node"
  // e.g. "/usr/bin/node" or "C:\bin\node.exe"
  "node_command": "C:/Program Files/nodejs/node.exe",
  // Same for NPM command
  "npm_command": false,
  // as 'NODE_PATH' environment variable for node runtime
  "node_path": "C:/Program Files/nodejs/node.exe",

  "expert_mode": false,

  "ouput_to_new_tab": false
}

我的 Nodejs.sublime-build 设置如下:

{
  "cmd": ["C:/Program Files/nodejs/node.exe", "$file"],
  "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  "selector": "source.js",
  "shell":true,
  "encoding": "cp1252",
  "windows":
    {
        "cmd": ["taskkill /F /IM node.exe & node", "$file"]
    },
  "linux":
    {
        "cmd": ["killall node; node", "$file"]
    }
}

作为旁注,我正在使用 JSHint,它使用 Nodejs 使用相同的路径(即“C:/Program Files/nodejs/node.exe”)并且 JSHint 有效! 知道为什么我不能使用 Nodejs 构建系统吗? 谢谢

【问题讨论】:

    标签: node.js build sublimetext2


    【解决方案1】:

    暂时尝试将您的构建系统设置为以下:

    {
      "cmd": ["C:/Program Files/nodejs/node.exe", "$file"],
      "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
      "selector": "source.js",
      "shell":true,
    }
    

    因为您有一个特定于 Windows 的部分,所以它正在运行该部分,而不是构建系统第一行上的 "cmd"。我怀疑taskkill 命令存在某种问题。

    如果这确实有效,并且您觉得有必要将 taskkill 部分放回原处,请尝试像这样对其进行重组:

    "windows":
        {
            "cmd": ["taskkill", "/F", "/IM", "node.exe", "&", "C:/Program Files/nodejs/node.exe", "$file"],
            "shell": true
        }
    

    显然,您根本不需要 linux 部分。我不太确定 Windows 上的语法,您可能需要有两个与号 && 而不是一个 - 我知道在 OS X 和 Linux 系统上就是这种情况。

    祝你好运!

    【讨论】:

    • 我已经实施了您的修改,但后来出现以下错误:{'C:/Program' is not Recognized as an internal or external command, operable program or batch file.} 我在 SO在 Windows 上,“程序文件”中有空格这一事实会产生许多错误。我尝试使用我在环境变量中定义的 NODE_PATH 但随后 Sublime 打印了以下错误 {'NODE_PATH' is not Recognized as an internal or external command, operable program or batch file} 我决定将 'NODE_PATH' 替换为'node' 终于成功了!Thx 现在必须检查 taskkill。
    • 我相信我发现我做错了。我的目标是测试一个小的 javascript 表达式,例如 console.log("Hello!");但我使用的是 nodejs 构建系统,它启动了一个新进程,这就是为什么之后会有 taskkill 命令。所以为了只测试 JS,我必须使用 {"cmd": ["node", "$file"]} 创建一个新的 JavaScript.sublime-build,然后重新启动,然后它就可以工作了。你为我指明了正确的方向。
    猜你喜欢
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多