我正在尝试部署我的firebase函数,但是所有函数都会返回错误,我之前已经进行了部署,没有任何错误。 自上次部署正确以来,我没有安装任何新产品。 每个函数都返回几乎相同的错误,唯一改变的是“ errorId”
我尝试从firebase-cli注销并再次登录,我从npm更新了firebase-tools,firebase-admin,firebase-functions。 我正在使用firebase deploy --only功能进行部署
部署错误。 构建失败:
{
"error": {
"canonicalCode": "INVALID_ARGUMENT",
"errorMessage": "`npm_install` had stderr output:\nnpm WARN tar ENOENT: no such file or directory, open '/workspace/node_modules/.staging/@types/lodash-973f4ada/common/collection.d.ts'\nnpm WARN tar ENOENT: no such file or directory, open '/workspace/node_modules/.staging/@types/node-29231f2f/inspector.d.ts'\nnpm WARN tar ENOENT: no such file or directory, open '/workspace/node_modules/.staging/@types/node-f1c8db24/inspector.d.ts'\nnpm WARN tar ENOENT: no such file or directory, open '/workspace/node_modules/.staging/@firebase/auth-1b85ce5b/dist/auth.esm.js.map'\nnpm WARN tar ENOENT: no such file or directory, open '/workspace/node_modules/.staging/@firebase/webchannel-wrapper-e6854ec7/dist/index.js'\nnpm ERR! code E404\nnpm ERR! 404 Not Found: grpc@1.20.1\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /builder/home/.npm/_logs/2019-06-08T18_16_17_266Z-debug.log\n\nerror: `npm_install` returned code: 1",
"errorType": "InternalError",
"errorId": "FD2536C1"
}
}
Package.json:
{
"name": "functions",
"engines": {
"node": "8"
},
"description": "Cloud Functions for Firebase",
"scripts": {
"lint": "eslint .",
"serve": "firebase serve --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"dependencies": {
"@firebase/storage": "^0.2.16",
"@google-cloud/vision": "^0.24.0",
"@sendgrid/mail": "^6.4.0",
"cors": "^2.8.5",
"dateformat": "^3.0.3",
"firebase": "^5.11.1",
"firebase-admin": "^7.4.0",
"firebase-functions": "^2.3.1",
"json2csv": "^4.5.1",
"mailchimp-api-v3": "^1.13.0",
"moment-timezone": "^0.5.25",
"openpay": "^1.0.3",
"paypal-rest-sdk": "^1.8.1",
"request": "^2.88.0"
},
"devDependencies": {
"eslint": "^4.12.0",
"eslint-plugin-promise": "^3.6.0",
"firebase-functions-test": "^0.1.6"
},
"private": true
}
正确部署功能。
更新*** 我尝试删除所有内容并卸载除firebase功能所需的软件包以外的所有软件包,并从节点8中的一个测试功能重新开始。我遇到了同样的问题,节点6已部署,但我需要使用节点8因为我需要使用await / async
答案 0 :(得分:0)
我遇到了同样的问题,我在2019年6月11日部署了我的最新版本,没有任何问题,我没有进行任何软件包更改或更新,但是现在部署失败。
我跑了
sudo npm i -g firebase-tools
和
npm install --save firebase-functions @ latest
并尝试再次部署,但仍然是相同的错误
答案 1 :(得分:0)
我有类似的部署失败。我认为这是由于我从firebase deploy
目录而不是app
目录运行app\functions
引起的。无论如何,我已经从终端(在我的情况下使用VSCode)运行了以下命令,将它们更改为app\functions
目录。这样部署就可以完美进行。
npm install --save @google-cloud/storage
npm install --save firebase-admin@latest
npm install --save firebase-functions@latest
firebase deploy
希望有帮助。
答案 2 :(得分:0)
我遇到了类似的问题,最终我的 package.json 中缺少一个模块
您可以在此处查看更详细/有用的日志:https://console.cloud.google.com/logs
答案 3 :(得分:0)
您可以通过使用此命令打开日志来查看实际日志
firebase functions:log
具体问题将在那里可见。我有时会遇到像 package.json 中缺少包一样简单的错误
如果 firebase 可以直接显示有关错误的更好信息,那将会很有帮助。但至少我们可以在这里找到它们。