簡體   English   中英

Firebase Function 部署問題:package.json 在 %RESOURCE_DIR% 中找不到

[英]Firebase Function Deployment issue: package.json not found in %RESOURCE_DIR%

我在部署 Firebase Cloud Functions 時遇到問題。

重現步驟

  • firebase 初始化
  • 僅 select function
  • select Firebase 項目
  • select Javascript
  • 使用 ESLint
  • 現在使用 npm 安裝依賴項
  • 運行 firebase 部署

預期結果

期待 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.

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