2015-10-29 70 views
4

我得到了我的应用程序此错误:节点FS错误:EPERM:不允许操作的,开放

Error: EPERM: operation not permitted, open 'C:\Program Files (x86)\Full Menu\db\main.json'

我已经是建立与电子样板的应用程序。我使用这个函数获取应用程序的根路径:

path.dirname(process.execPath) 

这是写入文件中的脚本:

fs.writeFile(apath + '/db/' + elem + '.json', JSON.stringify(results) 

我知道是什么问题:权限。但是,如何在不以管理员身份运行应用程序的情况下完成这项工作?

+0

对应该写入文件的目录给予完全权限。 –

回答

1

我认为您必须递归地将权限更改为该文件,以便执行脚本的用户可以读取/写入该文件。

https://fr.wikipedia.org/wiki/Chmod

+0

我通过更改NSIS脚本解决了这个问题,所以它可以让我选择另一个安装文件夹。 – Sergiu

2

为了搜索者的利益;我有这个错误。我添加了Everyone的全部权限作为测试,但是这并没有解决它。问题是该文件被设置为readonly(通过源代码管理)。

取消选中文件属性中的readonly选项修复了问题。

+1

这是目前我必须做的修复。当你检查任何东西时,TFS + VS2015会将该文件标记为'readonly',这打破了我的gulp构建脚本。将这些文件标记为不是只读文件可以解决这个问题,但它确实使VS对这些文件提出了很多抱怨,说有一个“文件的现有版本或非版本控制版本”。请小心,因为在获取最新版本时可能会丢失更改甚至文件。 – SaoBiz

相关问题