J'écris une application avec nwjs, et utilise nwjs-updater comme système de mise à jour.path.resolve (__ dirname, 'tools/unzip.exe') plantant sans message sous Windows 10
Malheureusement, j'ai cette question en essayant d'utiliser Décompressez par C. Spieler (docs: https://www.mkssoftware.com/docs/man1/unzip.1.asp) sur Windows 10.
Lorsque je tente d'invoquer le __dirname
var, l'application se bloque juste. Voici le code où il échoue:
// Code imported from https://github.com/Aufree/nwjs-updater/blob/master/basic/updater.js
// Only added console logs for debugging the issue.
var path = require('path');
//(...)
//line 253:
win: function(filename, cb, manifest, temporaryDirectory){
var destinationDirectory = getZipDestinationDirectory(filename, temporaryDirectory),
unzip = function(){
exec('"' + path.resolve(__dirname, 'tools/unzip.exe') + '" -u -o "' +
filename + '" -d "' + destinationDirectory + '" > NUL', function(err){
if(err){
return cb(err);
}
cb(null, path.join(destinationDirectory, getExecPathRelativeToPackage(manifest)));
});
};
console.log(destinationDirectory); // Works fine
console.log(__dirname); // Never gets to print
console.log(path.resolve(__dirname, 'tools/unzip.exe')); // Never gets to this line
fs.exists(destinationDirectory, function(exists){
if(exists) {
del(destinationDirectory, {force: true}, function (err) {
if (err) {
cb(err);
}
else {
unzip();
}
});
}
else {
unzip();
}
});
}
//(...)
Voici comment je commence la variable "updater":
var pkg = require(link_to_package.json);
var upd = new updater(pkg);
Toute idée sur l'endroit où pourrait être le problème?
Merci.
Quelle est l'erreur EXACT (mot à mot) que vous obtenez dans la console? Et, 'exec 'est défini quelque part? Pourquoi pensez-vous que la faute est avec '__dirname'? – jfriend00
C'était le problème, car je n'obtenais aucune erreur dans la console. – Leandroc
La faute est avec '__dirname' car il échoue sur la ligne où je fais simplement' console.log (__ dirname); ' – Leandroc