Firebase功能部署问题:%RESOURCE_DIR%中找不到package.json

Jer*_*rry 5 node.js npm firebase google-cloud-functions firebase-cli

我遇到部署Firebase云功能的问题.

重现步骤

  • firebase init
  • 仅选择功能
  • 选择Firebase项目
  • 选择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
Run Code Online (Sandbox Code Playgroud)

我试过谷歌搜索它并按照下面的链接解决方案,但它对我不起作用:https: //github.com/firebase/firebase-tools/issues/610

请帮忙!

谢谢.

Osa*_*adi 18

尝试在"firebase.json"文件中将字符串"$ RESOURCE_DIR"替换为"%RESOURCE_DIR%".

现在再次运行deploy命令.它对我有用.

编辑:此修复程序适用于Windows,现在该项目不会跨平台,如本答案中所述:类似的问题


Dou*_*son 1

您似乎正在使用旧版本的 Firebase CLI,或者使用旧版本初始化的项目。最干净的做法是升级你的 CLI:

npm install -g firebase-tools
Run Code Online (Sandbox Code Playgroud)

并从头开始创建一个全新的项目firebase init。然后,使用旧项目中的代码重建新项目。