所以我在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功能?
答案 0 :(得分:1)
我的猜测是你安装了anchors
,可能是在Debian或Ubuntu上,它提供了一个过时的节点(0.10.25)。
然后安装了nodejs
以允许您运行更新版本的Node,但继续使用nvm
可执行文件而不是nodejs
可执行文件(这是常用的名称)节点解释器; node
仅存在于某些Linux发行版中,因为有一个不相关的nodejs
包已经取了node
名称。
换句话说:使用node
而不是node
运行代码。