npm在部署时错过了脚本lint

时间:2018-04-13 01:40:35

标签: node.js npm

运行以下命令时:

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
}

3 个答案:

答案 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"
    ],