簡體   English   中英

節點 fs 錯誤:EPERM:不允許操作,打開

[英]Node fs Error: EPERM: operation not permitted, open

我在我的應用程序中收到此錯誤:

錯誤:EPERM:不允許操作,打開“C:\Program Files (x86)\Full Menu\db\main.json”

我擁有的應用程序是用電子樣板構建的。 我正在使用這個 function 來獲取應用程序根目錄的路徑:

path.dirname(process.execPath)

這是寫入文件的腳本:

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

我知道問題是什么:權限。 但是,如果不以管理員身份運行應用程序,我怎么能讓它工作呢?

為了搜索者的利益; 我有這個錯誤。 我為Everyone添加了完全權限作為測試,但這並沒有解決它。 問題是該文件被設置為readonly (通過源代碼管理)。

取消選中文件屬性中的readonly選項修復了該問題。

如果您在 docker 中無法打開或修改安裝為卷的文件,則重新啟動 docker 應該可以解決該問題。

在我的 Windows 10 機器上,我在運行舊的 Node JS 項目時遇到了這個錯誤。 我認為 Node 版本 10.16。

無論如何,它試圖修改我項目中的一個點文件。 確保該文件未在 Windows 上隱藏。 取消選中文件屬性中的隱藏選項后會彈出。 一切正常。

所以要修復:

  1. 在 Windows 資源管理器中右鍵單擊文件
  2. 選擇屬性
  3. 取消選中隱藏
  4. 單擊確定
  5. 重新運行您的命令。

在此處輸入圖片說明

我不得不以管理員身份運行節點命令提示符並解決了這個問題。

我在刪除文件/文件夾時遇到了這個問題。

解決方案:

只需重新啟動您的代碼編輯器/終端或重新啟動您的計算機

我認為您必須遞歸地更改文件的權限,以便執行腳本的用戶可以讀取/寫入此文件。

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

重新啟動我的計算機為我解決了這個問題。

如果您在 Windows 10 遇到此問題,請嘗試以下操作:

  1. 取消選中文件夾的只讀選項(如果只讀恢復,請以管理員身份登錄)
  2. 以管理員身份打開終端(如果您在終端上遇到此問題)
  3. 關閉勒索軟件文件夾保護
  4. 更改文件夾的chmod
  5. 檢查文件夾是否隱藏
  6. 禁用防病毒保護(暫時)並試試這個
  7. 或者將您的項目文件夾移動到其他地方,禁用防病毒勒索軟件保護。

如果以上均無效,請嘗試以下操作: https://appuals.com/how-to-fix-folder-keeps-reverting-to-read-only-on-windows-10/

希望這會有所幫助。

我有錯誤,因為我之前已經打開過文件

var stream = fs.createWriteStream(outputFileName, {flags:'a'})
var output = fs.createWriteStream(outputFileName, {flags:'a'})

我也有這個問題。 我正在使用 TFS(或 VSO、Azure DevOps 等)進行源代碼控制。 我試圖從 .scss 編譯為 .css,但它無法打開我的 .css。 我只需要右鍵單擊我的 .css 文件並簽出進行編輯...

這不是一個確切的答案,但可能會有所幫助:

我想如果你想readread readSync一個不存在的文件,你會遇到一個EPERM錯誤......

在許多編程語言中,任何與權限相關的錯誤可能並不直接意味着實際的權限問題

例如在PHP文件夾(不是文件)必須通過 php rmdir()方法刪除,但如果你想用unlink()這樣做,你會遇到一個錯誤的警告消息,說“權限被拒絕”

我在使用以下軟件時遇到了同樣的問題:

  • Windows 10
  • GitBash
  • 節點 v19

我能夠解決它以管理員身份打開 GitBash

當我嘗試使用 NodeJS 創建和寫入文件時,我遇到了同樣的問題。 我認為這與我的 Windows 文件/文件夾訪問權限有關,但是在重新啟動計算機並再次運行代碼后,我仍然遇到相同的錯誤。

在此處輸入圖片說明

在此處輸入圖片說明

但是,這一次我的防病毒軟件也給了我一條彈出消息,指出它阻止了Node.exe寫入或打開文件的權限。 因此,一旦我將 Node.exe 標記為對我的防病毒程序 (Avast) 是安全的。

它對我有用。 我猜禁用我的防病毒軟件也可以暫時修復它。

如果您使用 Windows 10,則必須關閉勒索軟件保護。 勒索軟件保護將阻止所有文件夾和文件更改。您可以在 Windows 安全中心將其關閉。 請看下面的截圖:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM