运行以下命令时:
npm --prefix "$RESOURCE_DIR" run lint
它返回以下错误:
npm ERR! missing script: lint
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\HP\AppData\Roaming\npm-cache\_logs\2018-04-13T01_27_59_009Z-debug.log
Error: functions predeploy error: Command terminated with non-zero exit code1
这是我的package.json
:
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"serve": "firebase serve --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"dependencies": {
"firebase-admin": "~5.12.0",
"firebase-functions": "^1.0.1"
},
"private": true
}
答案 0 :(得分:1)
您正在尝试运行lint
任务,但您的包定义中不存在该任务。你确定你不想运行以下内容(基于你的问题标题)吗?
npm --prefix "$RESOURCE_DIR" run deploy
编辑:好吧,看起来Firebase需要一个lint脚本。所以只需在脚本中添加"lint": ""
即可。
答案 1 :(得分:1)
我在部署用 typescript 编写的 firebase 云函数时遇到了同样的错误。在 package.json 下,我添加了以下几行。然后函数就部署成功了。
在脚本下 ->
"lint": "tslint --project tsconfig.json",
在 devDependencies 下 ->
"tslint": "^5.12.0",
答案 2 :(得分:0)
未安装 linter 包,如果您需要在不运行 linter 的情况下进行部署 您可以从 firbase.json 文件中删除这些行
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint"
],