云功能在Windows上的lint期间部署错误:"enoent ENOENT:没有这样的文件或目录"

Rob*_*and 17 windows firebase google-cloud-functions firebase-cli

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
Run Code Online (Sandbox Code Playgroud)

package.json文件确实存在,就像我的project/functions/package.json中的教程所示.尝试更改或打印出RESOURCE_DIR env但没有成功.假设它将限定在NPM shell环境中.

npm版本:5.6.0

节点版本:8.9.0

Dou*_*son 43

这是Firebase CLI 3.17.0至少3.17.3的已知问题,但仅限于Windows.您可以通过firebase.json在项目的根目录进行编辑并在您看到的npm命令中进行替换$RESOURCE_DIR%RESOURCE_DIR%在您的计算机上修复此问题.前者是使用环境变量的unix语法方式,而后者是Windows命令shell语法.由于您使用的是Windows,因此需要使用Windows语法.

该团队正在研究防止必须对您使用的配置文件进行更改的方法,因为对于跨平台工作的团队来说,来回更改同一文件并不是非常方便.

编辑:应使用CLI版本3.17.5创建的项目修复此问题.