我编写了许多由Firebase功能触发的功能,我可以部署它们,但只能部署由我无法部署的Crashlytics触发的功能。
exports.sendOnVelocityAlert = functions.crashlytics.issue().onVelocityAlert(event => {
const data = event.data;
const issueId = data.issueId;
const issueTitle = data.issueTitle;
const appName = data.appInfo.appName;
const appPlatform = data.appInfo.appPlatform;
const latestAppVersion = data.appInfo.latestAppVersion;
const crashPercentage = data.velocityAlert.crashPercentage;
const slackMessage = `<!here|here> There is an issue ${issueTitle} (${issueId}) ` + `in ${appName}, version ${latestAppVersion} on ${appPlatform} that is causing ` + `${parseFloat(crashPercentage).toFixed(2)}% of all sessions to crash.`;
return notifySlack(slackMessage)/then(() => {
console.log(`Posted velocity alert ${issueId} successfully to Slack`);
});
});
我总是看到这个错误&#34;无法读取属性&#39;问题&#39;未完成的&#34;当我部署时。
i deploying functions
i functions: ensuring necessary APIs are enabled...
✔ functions: all necessary APIs are enabled
i functions: preparing functions directory for uploading...
Error: Error occurred while parsing your function triggers.
TypeError: Cannot read property 'issue' of undefined
at Object.<anonymous> (/private/var/folders/y8/tbbq9y5j12jc5rlwcmt5smgm0000gn/T/fbfn_10408f4KU3uXJsLQc/index.js:261:53)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Module.require (module.js:579:17)
at require (internal/module.js:11:18)
at /usr/local/lib/node_modules/firebase-tools/lib/triggerParser.js:18:11
at Object.<anonymous> (/usr/local/lib/node_modules/firebase-tools/lib/triggerParser.js:32:3)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Function.Module.runMain (module.js:676:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
我使用的是Firebase CLI v3.16.0,节点v8.9.3,npm v5.5.1以及package.json中的依赖项版本。
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"dependencies": {
"@google-cloud/storage": "^1.5.1",
"child-process-promise": "^2.2.1",
"firebase-admin": "^5.6.0",
"firebase-functions": "^0.7.5",
"mkdirp": "^0.5.1",
"mkdirp-promise": "^5.0.1",
"request": "^2.83.0",
"request-promise": "^4.2.2",
"uuid": "^3.1.0"
},
"private": true
}
有任何解决这个问题的想法吗?
答案 0 :(得分:2)
Firebase CLI会运行您在本地解析触发器的代码。虽然您的package.json
具有完全有效的依赖关系,但您安装的firebase-functions
版本似乎是在10月推出的firebase.crashlytics
之前。
您是否可以尝试从npm install
目录运行functions
,看看是否能解决问题?