nodejs v0.10.25 中缺少 execSync

Missing execSync in nodejs v0.10.25

所以我在 nodejs api 文档中看到了 execSync 函数。

https://nodejs.org/api/child_process.html#child_process_child_process_execsync_command_options

我试过 运行 这样的事情。

var executeSync = function(command){
  var child = require('child_process')
  code = child.execSync(command);
  return code;
}

但是我得到一个错误:

    code = child.execSync(command);
                 ^
TypeError: Object #<Object> has no method 'execSync'

所以我的版本有问题吗?

nvm ls
    iojs-v3.3.1
         v5.0.0
->       v5.4.0
         system
default -> node (-> v5.4.0)
node -> stable (-> v5.4.0) (default)
stable -> 5.4 (-> v5.4.0) (default)
iojs -> iojs-v3.3 (-> iojs-v3.3.1) (default)

那么为什么我不能使用 execSync 功能?

我的猜测是您安装了 nodejs,可能是在 Debian 或 Ubuntu 上,它提供了一个过时的节点 (0.10.25)。

然后您安装了 nvm 以允许您 运行 更新版本的 Node,但继续使用 nodejs 可执行文件而不是 node 可执行文件(它是 Node 解释器的常用名称;nodejs 仅存在于某些 Linux 发行版中,因为有一个不相关的 node 包已经使用了 node 名称)。

换句话说:运行 您的代码使用 node,而不是 nodejs