好的,所以我为此撕开了头发......
出于某种原因,即使我已经遵循了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"只能部署。
提前致谢!
答案 0 :(得分:0)
抱歉有问题。
我找到了解决方案,显然我的npm init不起作用。我做了它,并且所有命令都按预期工作。
解决此错误:
删除package.json& node_modules
运行“npm init”
重新安装节点模块
现在你应该像往常一样部署。
感谢@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
}