windows - you - warn saveerror enoent no such file or directory open




雲功能在Windows上的lint期間部署錯誤:“enoent ENOENT:沒有這樣的文件或目錄” (6)

作為一個額外的做npm --prefix%RESOURCE_DIR%運行lint像@Deji詹姆斯說,讓我取得了一些進展,但仍然無法正常工作。

作為建議,我發現了這個 https://github.com/firebase/firebase-tools/issues/610

並且@merlinnot在這裡說嘿伙計們,你們都可能在你們預裝firebase.json中了,不是嗎? 如果不重要的話,現在就 刪除 你現在擁有的東西。

為我工作。 PS。 在決定刪除之前,我已經完成了所有重新安裝的事情,卸載了一些東西。 只有這個有效。

firebase函數入門 之後,一旦嘗試部署,就會 引導 並獲得看似簡單的錯誤:

firebase deploy --only functions

i  deploying functions
Running command: npm --prefix $RESOURCE_DIR run lint
npm ERR! path C:\Users\Beat\leginformant\$RESOURCE_DIR\package.json
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open 
'C:\Users\Beat\leginformant\$RESOURCE_DIR\package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

package.json文件確實存在,就像我的project / functions / package.json中的教程所示。 嘗試更改或打印出RESOURCE_DIR env但沒有成功。 假設它將限定在NPM shell環境中。

npm版本:5.6.0

節點版本:8.9.0


在Windows中,在使用 firebase init 在CLI中初始化firebase項目時,在 firebase.json 文件中,將代碼更改為以下 { "functions": { "predeploy": [ "npm --prefix \"%RESOURCE_DIR%\" run lint" ], "source": "functions" } } 在此更改之後,嘗試 firebase deploy --only functions 命令。


您可以通過訪問 firebase.json 文件並刪除包含 RESOURCE_DIR 行來解決此問題。


您必須更改 firebase.json 文件,如此處所示

"npm --prefix functions run lint"
"npm --prefix functions run build"

跑步時

firebase init functions

我使用這個配置

? What language would you like to use to write Cloud Functions? JavaScript
//TypeScript doesn't work
? Do you want to use ESLint to catch probable bugs and enforce style? Yes
//If you don't you will get a missing file lint
? File functions/package.json already exists. Overwrite? Yes
? Do you want to install dependencies with npm now? Yes
//Why not

然後如果使用窗口

在firebase.json中將$ RESOURCE_DIR替換為%RESOURCE_DIR%


這是Firebase CLI 3.17.0至少3.17.3的已知問題,但僅限於Windows。 您可以通過編輯項目根目錄下的 firebase.json 並在您看到的npm命令中將 $RESOURCE_DIR 替換 $RESOURCE_DIR %RESOURCE_DIR% 在您的計算機上修復此問題。 前者是使用環境變量的unix語法方式,而後者是Windows命令shell語法。 由於您使用的是Windows,因此需要使用Windows語法。

該團隊正在研究防止必須對您使用的配置文件進行更改的方法,因為對於跨平台工作的團隊來說,來回更改同一文件並不是非常方便。

編輯:應使用CLI版本3.17.5創建的項目修復此問題。





firebase-cli