Firebase云功能 - 无法部署

时间:2018-01-15 21:00:01

标签: node.js firebase npm google-cloud-functions

好的,所以我为此撕开了头发......

出于某种原因,即使我已经遵循了firebase云功能的所有必要说明,我也无法部署我收到错误消息:

  

构建失败:模块@ firebase / app的指定版本范围不是   串

但是我无法看到这个指定的版本范围不应该是字符串?我查看了package.json,但无法确定它应该出错的地方:

    "@firebase/app": {
          "version": "0.1.6",
          "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.1.6.tgz",
          "integrity": "sha512-zvA+Tsc6lmuMYmDYsgoXpmPzzLLhdeH97/UVN79YGlFqCihrYAaKUi1/osoAhjXPZaV1+TXoqiSEB2vWHU7Puw==",
          "requires": {
            "@firebase/app-types": "0.1.1",
            "@firebase/util": "0.1.6"
          }
}

我也猜测只是因为这是这个错误出现的第一个模块,看起来根本就是错误的。

我不得不通过sudo安装npm模块,这可能是问题吗?它创建了一个锁定的package-locked.json文件,我将其重命名为" package.json"只能部署。

提前致谢!

2 个答案:

答案 0 :(得分:0)

抱歉有问题。

我找到了解决方案,显然我的npm init不起作用。我做了它,并且所有命令都按预期工作。

解决此错误:

  1. 删除package.json& node_modules

  2. 运行“npm init”

  3. 重新安装节点模块

  4. 现在你应该像往常一样部署。

    感谢@MichaelBleigh帮助我实现这个愚蠢的错误

答案 1 :(得分:0)

我遇到了同样的问题。我的问题是“引擎”部分位于依赖项部分。固定如下:

{
  "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"
  },
  "engines": {
    "node": "8"
  },
    "dependencies": {
    "actions-on-google": "2.0.0-alpha.4",
    "async": "^2.6.1",
    "dialogflow": "^0.1.0",
    "dialogflow-fulfillment": "0.3.0-beta.3",
    "firebase-admin": "^6.0.0",
    "firebase-functions": "^2.1.0",
    "firebase-tools": "6.0.1",
    "geofirex": "^0.0.6",
    "google-auth-library": "1.6.1",
    "googleapis": "32.0.0",
    "lodash.get": "^4.4.2",
    "request": "^2.87.0",
    "rss-parser": "^3.5.2",
    "rxjs": "^6.3.3"
  },
  "private": true
}