2015-10-29 72 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

相關問題