我搜索了很多,但没有得到正确的答案。
首先,我确定该命令在命令行下可用,这是输出:
> lessc
lessc: no input files
usage: lessc [option option=parameter ...] <source> [destination]
但是,当使用时child_process.spawn
,我得到了:
> node test.js
Encountered error: { [Error: spawn ENOENT] code: 'ENOENT', errno: 'ENOENT', syscall: 'spawn' }
我确定process.env
是给的spawn
,这里是nodejs代码:
var build = require('child_process').spawn(
'lessc',
[],
{
stdio: 'inherit',
env: process.env
}
);
build.on(
'error',
function (err) {
console.log('Encountered error:', err);
process.exit();
}
);
build.on(
'close',
function (err) {
console.log('close');
}
);
而且奇怪的是,它仅在通过安装命令时遇到ENOENTnpm install -g
,它适用于例如dir
或del
系统命令