[英]Does Firebase Function Does not Support Node 18 as its Engine parameter in Package.json file?
[英]Firebase Function Deployment issue: package.json not found in %RESOURCE_DIR%
我在部署 Firebase Cloud Functions 時遇到問題。
重現步驟
預期結果
期待 firebase-tools 部署雲功能。
實際結果
收到以下錯誤消息:
λ firebase deploy
=== Deploying to '<projects>'...
i deploying functions
Running command: npm --prefix "$RESOURCE_DIR" run lint
npm ERR! path ...path\firebaseFunction\%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 '...path\firebaseFunction\%RESOURCE_DIR%\package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! ...path\AppData\Roaming\npm-cache\_logs\2018-06-17T10_02_45_577Z-debug.log
Error: functions predeploy error: Command terminated with non-zero exit code4294963238
我已經嘗試用谷歌搜索並按照以下鏈接中的解決方案進行操作,但它對我不起作用: https://github.com/firebase/firebase-tools/issues/610
請幫忙!
謝謝你。
嘗試用“firebase.json”文件中的"%RESOURCE_DIR%"
替換字符串"$RESOURCE_DIR"
。
現在再次運行部署命令。 它對我有用。
說明:此修復適用於 Windows,因為%RESOURCE_DIR%
只會被 Windows 命令行解釋器識別為環境變量。 作為最終結果,該項目不再是跨平台的,正如在這個類似問題的答案中提到的那樣。
1.在 firebase.json 文件中
嘗試用%RESOURCE_DIR%
替換$RESOURCE_DIR
和
"npm --prefix $RESOURCE_DIR run lint" to "npm --prefix %RESOURCE_DIR% run lint"
(上面的只是解決了)
2. npm install -g git://github.com/firebase/firebase-tools#master
請在您的項目文件夾中再次嘗試此安裝,它應該可以解決問題
我遇到了同樣的問題,只是從 firebase.json 文件中刪除了預部署,它會正常工作
看起來您使用的是舊版本的 Firebase CLI,或者使用舊版本初始化的項目。 最干凈的方法是升級您的 CLI:
npm install -g firebase-tools
並使用firebase init
從頭開始創建一個全新的項目。 然后,使用舊項目中的代碼重建新項目。
解決方案
"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
}
到
"functions": {
"predeploy": [
"npm --prefix \"%RESOURCE_DIR%\" run lint",
"npm --prefix \"%RESOURCE_DIR%\" run build"
]
}
我已經嘗試了以上所有解決方案,但仍然無法正常工作@firebase
第一步:打開 firebase.json 你會看到這個 JSON 文件
"functions": { "predeploy": [ "npm --prefix \\"$RESOURCE_DIR\\" run lint", "npm --prefix \\"$RESOURCE_DIR\\" run build" ] }
Step2:刪除“npm --prefix \\"$RESOURCE_DIR\\" run lint",和"npm --prefix \\"$RESOURCE_DIR\\" run build”
"functions": { "predeploy": [] }
現在部署,它工作正常
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.