node.js - 在 Windows 启动时通过电子应用程序打开文件时出错
问题描述
我开发了一个电子应用程序,该应用程序设置为使用auto-launch
模块在 Windows 启动时启动。当应用程序启动时,它会读取一个db.json
充当本地数据库的文件。如果手动启动应用程序,该应用程序可以顺利运行。但是当应用程序在 Windows 启动时自动启动时,它会在应用程序日志中显示以下错误。
构造函数:'Error',errno:-4048,系统调用:'open',代码:'EPERM',路径:'db.json',堆栈:“错误:EPERM:不允许操作,打开 'db.json'\n "
以下是我用于访问db.json
文件的代码。
if (process.env.NODE_ENV === 'development') {
adapter = new FileSync('db.json')
} else {
adapter = new FileSync('db.json', {
serialize: (data) => this._encrypt(data),
deserialize: (data) => this._decrypt(data)
});
}
如何解决此错误?
编辑:
我正在使用电子生成器进行包装。以下是我的package.json
.
"nsis": {
"oneClick": false,
"allowToChangeInstallationDirectory": true,
"perMachine": false
}
我仍然对应该启用哪些选项以避免此类权限错误感到困惑。
解决方案
推荐阅读
- python - 如何考虑 Python 中代码可重用性和可扩展性的 OOP 设计选择?
- sql - 是否可以从上一个过程中创建的表中修改循环中的数据?
- google-cloud-platform - 通过自定义/私有 node.js 客户端管理 Google 云中负载均衡器中的 SSL 证书
- javascript - 将对象转换为 JSON
- r - 将日期列表转换为 R 中的数据框
- scala - 即使它是不同的类型,如何防止 Scala 自身满足这个隐式参数?
- python - 在 python 中对聚集的分类数据执行多维缩放 (MDS)
- reactjs - 插值不透明度最初不是不可见的
- javascript - 即使组件未渲染也加载图像
- javascript - 当图标是循环的一部分时,如何仅将css应用于悬停在上面的特定图标