0

一段时间以来,我一直在尝试部署我的 firebase 功能项目,但我似乎做不到。我遵循了其他一些问题建议,但没有一个有效。我尝试在预部署中添加转义冒号:

"predeploy": [
      "npm --prefix \"$RESOURCE_DIR\""
]

而且我还尝试将我的间隔文件夹重命名为一个单词文件夹,但它也没有奏效。这是错误:

Error: functions predeploy error: Command terminated with non-zero exit code1

这是我的 package.json:

{
  "name": "functions",
  "description": "Cloud Functions for Firebase",
  "scripts": {
    "lint": "eslint .",
    "serve": "firebase serve --only functions",
    "shell": "firebase experimental:functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "dependencies": {
    "firebase-admin": "^5.8.2",
    "firebase-functions": "^1.0.1"
  },
  "private": true
}

这是我的 firebase.json:

{
  "database": {
    "rules": "database.rules.json"
  },
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\""
    ]
  },
  "storage": {
    "rules": "storage.rules"
  }
}

注意:我自己从预部署中删除了运行 lint。

我什至似乎无法部署helloWorld示例功能。尝试为该项目提供服务时,我收到此警告:

Warning: You're using Node.js v9.4.0 but Google Cloud Functions only supports v6.11.5

但是,该项目实际上是正确服务的。我还尝试全局卸载 google-cloud 并再次安装,但警告并没有消失。

请帮帮我,我的想法已经用完了。先感谢您。

4

1 回答 1

0

您要么删除 npm --prefix 要么添加至少一个

{
  "functions": {
    "predeploy": [],
    "source": "functions"
  }
}

或者你试试这个:

{
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint"
    ],
    "source": "functions"
  }
}
于 2018-04-11T20:37:32.943 回答