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
。
所以我在 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
。