Javascript 使用密码时出现node-7z enoint错误7zip bin
我正试图在我的Electron应用程序中使用node-7z来解密受密码保护的zip文件,但每当我传递密码时,我都会收到一个eNot错误。我包括7zip-bin,并且.7za文件存在于该位置,当我输入console.log 7zip-bin.path7za时,我将获得一个有效的exe。 如果我提取了一个没有任何密码的zip,那么就没有问题,并且我已经在我的项目根目录和节点模块文件夹中运行了npm安装,那么我还缺少什么吗 谢谢你的帮助Javascript 使用密码时出现node-7z enoint错误7zip bin,javascript,node.js,electron,Javascript,Node.js,Electron,我正试图在我的Electron应用程序中使用node-7z来解密受密码保护的zip文件,但每当我传递密码时,我都会收到一个eNot错误。我包括7zip-bin,并且.7za文件存在于该位置,当我输入console.log 7zip-bin.path7za时,我将获得一个有效的exe。 如果我提取了一个没有任何密码的zip,那么就没有问题,并且我已经在我的项目根目录和节点模块文件夹中运行了npm安装,那么我还缺少什么吗 谢谢你的帮助 const { extractFull } = require(
const { extractFull } = require('node-7z')
const zipbin = require('7zip-bin')
let testFile = zipLocation + "/zip.zip";
const pathTo7zip = zipbin.path7za;
console.log(pathTo7zip); -->Returns .z7a file path
const myStream = extractFull(testFile, installLocation, { password: 'password' }, {
$bin: pathTo7zip,
$progress: true
})
myStream.on('error', (err) => handleError(err));
}
如果使用p:或password:添加密码,则会出现以下错误:
Error: spawn 7z ENOENT
at notFoundError (***app\node_modules\cross-spawn\lib\enoent.js:6)
at verifyENOENT (****app\node_modules\cross-spawn\lib\enoent.js:40)
at ChildProcess.cp.emit (*****app\node_modules\cross-spawn\lib\enoent.js:27)
at Process.ChildProcess._handle.onexit (internal/child_process.js:272)
如果没有密码,我不会有任何问题,但我使用node-7z的全部原因是用于zip/.7z加密。installLocation来自哪里?您发布的代码片段中没有定义它——也许这就是问题所在?嗨,Alex,installLocation是zip输出位置的存储变量。不可能是这样,因为它在没有密码的情况下工作,我已经登录了console.log,它也是有效的。