Lan*_*ria 12 node.js firebase google-cloud-functions
我刚刚更新到:
npm: 8.11.0
node: v16.15.1
Run Code Online (Sandbox Code Playgroud)
新编辑:
我刚刚又更新了sudo n latest:
npm: 8.12.1
node: v18.4.0
Run Code Online (Sandbox Code Playgroud)
我正在尝试部署新的云功能firebase deploy --only functions:deleteUser
,但不断收到 cli 错误:
函数加载用户代码失败。这可能是由于用户代码中的错误造成的。错误消息:错误:请检查您的功能日志以查看错误原因
当我查看日志时:
Run Code Online (Sandbox Code Playgroud)deleteUser Detailed stack trace: /workspace/node_modules/firebase-admin/lib/app/firebase-namespace.js:84 this.INTERNAL = new FirebaseNamespaceInternals(appStore ?? new lifecycle_1.AppStore()); Provided module can't be loaded. Is there a syntax error in your code? SyntaxError: Unexpected token '?' at wrapSafe (internal/modules/cjs/loader.js:915:16) at Module._compile (internal/modules/cjs/loader.js:963:27) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) at Module.load (internal/modules/cjs/loader.js:863:32) at Function.Module._load (internal/modules/cjs/loader.js:708:14) at Module.require (internal/modules/cjs/loader.js:887:19) at require (internal/modules/cjs/helpers.js:74:18) at Object.<anonymous> (/workspace/node_modules/firebase-admin/lib/default-namespace.js:19:30) at Module._compile (internal/modules/cjs/loader.js:999:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) Could not load the function, shutting down.
索引.js:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.deleteUser = functions.https.onCall((data, context) => {
const userID = data.userID;
admin.auth().deleteUser(userID)
.then(() => {
console.log('Successfully deleted userID: ', userID);
return true // without this Return I get a different error: Each then() should return a value or throw promise/always-return
})
.catch((error) => {
console.log('Error deleting user: ', error);
});
});
Run Code Online (Sandbox Code Playgroud)
再次新编辑
包.json:
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"lint": "eslint .",
"serve": "firebase emulators:start --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"engines": {
"node": "12"
},
"main": "index.js",
"dependencies": {
"@google-cloud/logging": "^8.1.1",
"firebase-admin": "^11.0.0",
"firebase-functions": "^3.11.0",
"save": "^2.4.0"
},
"devDependencies": {
"eslint": "^5.12.0",
"eslint-plugin-promise": "^4.0.1",
"firebase-functions-test": "^0.2.0"
},
"private": true
}
Run Code Online (Sandbox Code Playgroud)
Lan*_*ria 24
感谢评论中 @raina77ow 的提示。我必须进入我的package.json文件并将节点版本从 12 更改为 16
老的:
"engines": {
"node": "12" // causes error
}
Run Code Online (Sandbox Code Playgroud)
新的:
"engines": {
"node": "16" // error is now gone
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7724 次 |
| 最近记录: |