Je reçois cette erreur dans mon application:
Erreur: EPERM: opération non autorisée, ouvrez 'C:\Program Files (x86)\Menu complet\db\main.json '
L'application que j'ai est construite avec un passe-partout électronique. J'utilise cette fonction pour obtenir le chemin d'accès à la racine de l'application:
path.dirname(process.execPath)
Et voici le script qui écrit le fichier:
fs.writeFile(apath + '/db/' + elem + '.json', JSON.stringify(results)
Je sais quel est le problème: les autorisations. Mais comment pourrais-je le faire fonctionner sans exécuter l'application en tant qu'administrateur?
Au profit des chercheurs; J'ai cette erreur. J'ai ajouté des autorisations complètes pour Everyone
à titre de test, mais cela n'a pas résolu le problème. Le problème était que le fichier était défini sur readonly
(par contrôle de source).
La désactivation de l'option readonly
dans les propriétés du fichier a résolu le problème.
Je pense que vous devez modifier les autorisations de manière récursive sur le fichier afin que l'utilisateur exécutant votre script puisse lire/écrire ce fichier.
j'ai dû exécuter la commande de noeud Invite en tant qu'administrateur et cela a résolu le problème.