我有一个全新安装的firebase工具(遵循此tutorial),我试图上传我的第一个firebase功能。我在hello-world示例中遇到了这个问题,它们在运行firebase init时初始化(在init期间唯一设置函数CLI功能)
如果我将$RESOURCE_DIR
中的firebase.json
替换为我的功能文件夹,它可以正常运行,但当然这是不好的做法,我想找到一个合适的$RESOURCE_DIR
替代品
PS D:\workspace\firebase-functions> firebase deploy
=== Deploying to 'newagent-5221d'...
i deploying functions
Running command: npm --prefix $RESOURCE_DIR run lint
npm ERR! path D:\workspace\firebase-functions\$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 'D:\workspace\firebase-functions\$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! C:\Users\dtlut\AppData\Roaming\npm-cache\_logs\2018-01-19T15_57_22_990Z-debug.log
Error: functions predeploy error: Command terminated with non-zero exit code4294963238
答案 0 :(得分:110)
尝试将{RESOURCE_DIR替换为firebase.json
文件中的%RESOURCE_DIR%。
答案 1 :(得分:25)
你可以简单地制作你的firebase.json文件:
{
"functions": {
"predeploy": [
"npm --prefix ./functions/ run lint",
"npm --prefix ./functions/ run build"
]
}
}
我正在做的是将$ RESOURCE_DIR替换为函数文件夹的硬编码路径 它对我有好处
答案 2 :(得分:19)
它想要你的云功能,这意味着它会检查你的代码是否有明显的错误,比如编译语言会在编译时抛出错误。
没有必要,您可以通过进入firebase.json并将functions.predeploy更新为空数组来删除它。
"functions": {
"predeploy": [],
"source": "functions"
}
答案 3 :(得分:7)
概要
在本地安装ESLint以添加" devDependencies"到 package.json 。运行:
`npm install eslint --save-dev`
如上所述的Windows解决方法。更改 firebase.json :
`npm --prefix $RESOURCE_DIR run lint` to `npm --prefix %RESOURCE_DIR% run lint`
或者,将以下内容添加到 package.json :
"scripts": { "lint": "eslint"} or "scripts": { "lint": "eslint.js"}
答案 4 :(得分:4)
找到firebase.json文件 然后更改这些行
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
到
"npm --prefix \"%RESOURCE_DIR%\" run lint",
"npm --prefix \"%RESOURCE_DIR%\" run build"
会起作用
答案 5 :(得分:1)
在" npm --prefix $RESOURCE_DIR run lint
"中修改firebase.json到" npm --prefix %RESOURCE_DIR% run lint
"
答案 6 :(得分:0)
此人应该解决此问题,而无需解决方法
df = df[df['CODE']!='D']
请在您的项目文件夹中再次尝试安装,这样可以解决该问题。
答案 7 :(得分:0)
附注,如果您使用的是 yarn
(而不是 npm
),则需要指定 --cwd
参数(而不是 --prefix
)
firebase.json
示例:
{
...
"functions": {
"predeploy": [
"yarn --cwd \"$RESOURCE_DIR\" lint",
"yarn --cwd \"$RESOURCE_DIR\" build"
]
},
...
}
答案 8 :(得分:-1)
这是我的云功能成功部署的工作
"functions": {
"predeploy": [
"npm --prefix \"%RESOURCE_DIR%\" run lint",
"npm --prefix \"%RESOURCE_DIR%\" run build"
],`enter code here`
"source": "functions"