私はたくさん検索しましたが、正しい答えはありませんでした。
まず、コマンドはコマンドラインで使用できると確信しています。出力は次のとおりです。
> 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');
}
);
そして奇妙なことに、コマンドが を介してインストールされたときにのみENOENTに遭遇します。たとえば、システムコマンドnpm install -g
でうまく機能しますdir
del