Node.JS:execFile ENOENT
我试图执行*.exe
文件,但得到:
exec error: { Error: spawn ${__dirname}/install.exe ENOENT
码:
var execFile = require('child_process').execFile execFile('${__dirname}/install.exe', function(error, stderr) { console.log('stderr: ', __dirname); if (error !== null) { console.log('exec error: ', error); } });
还试过: '${__dirname}\install.exe'
, './install.exe'
'${__dirname}\install.exe'
'./install.exe'
, 'D:\install.exe'
@FelixKling有正确的build议; variables不起作用,除非你创build你的string与back-ticks。 此外,使用path
模块来parsing文件path是一个好主意:
var path = require('path'); var execFile = require('child_process').execFile; var exePath = path.resolve(__dirname, './install.exe'); execFile(exePath, function(error, stderr) { console.log('stderr: ', __dirname); if (error !== null) { console.log('exec error: ', error); } });
编辑 :
这是你的原始问题,关于ENOENT
; 对于你的第二个关于UNKNOWN
错误,原因可能会有所不同。 这听起来可能是一个权限问题,因为可执行文件需要提升到pipe理员权限。