在nodejs v0.10.25中缺少execSync

时间:2016-01-11 09:27:30

标签: javascript node.js synchronous

所以我在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功能?

1 个答案:

答案 0 :(得分:1)

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

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

换句话说:使用node而不是node运行代码。