将firebase-tools
从6.8.0
升级到6.9.0
后,我的本地函数停止工作。从我的应用程序调用时,我会收到以下错误消息:
λ firebase.cmd serve --only functions:upload
+ functions: Using node@12 from host.
+ functions: Emulator running at http://localhost:5001
i functions: Beginning execution of "upload"
! Error: Cannot find module 'package.json'
Require stack:
- C:UsersMyLocalUsernameAppDataRoamingnpmnode_modulesfirebase-toolslibemulatorfunctionsEmulatorRuntime.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:610:15)
at Function.Module._load (internal/modules/cjs/loader.js:526:27)
at Module.require (internal/modules/cjs/loader.js:666:19)
at require (internal/modules/cjs/helpers.js:16:16)
at verifyDeveloperNodeModules (C:UsersMyLocalUsernameAppDataRoamingnpmnode_modulesfirebase-toolslibemulatorfunctionsEmulatorRuntime.js:125:32)
at C:UsersMyLocalUsernameAppDataRoamingnpmnode_modulesfirebase-toolslibemulatorfunctionsEmulatorRuntime.js:457:26
at Generator.next (<anonymous>)
at C:UsersMyLocalUsernameAppDataRoamingnpmnode_modulesfirebase-toolslibemulatorfunctionsEmulatorRuntime.js:7:71
at new Promise (<anonymous>)
at __awaiter (C:UsersMyLocalUsernameAppDataRoamingnpmnode_modulesfirebase-toolslibemulatorfunctionsEmulatorRuntime.js:3:12)
! Your function was killed because it raised an unhandled error.
我已经重新安装了节点和NPM(包括删除%appData%文件(,删除了所有node_module
文件,并使用npm ci
重新安装了所有内容,但问题仍然存在。
firebase.cmd
是版本6.0.0
我如何继续?我可以在升级之前提供相同的功能,但是现在即使尝试使用npm i firebase-tools@6.8.0
问题降级仍然存在。
现在的功能:
const functions = require('firebase-functions');
exports.upload = functions.https.onRequest((req, res) => {
console.log('Upload initiated')
return null;
});
我从firebase-tools 6.7.2升级到6.9.0
后也有同样的问题这些步骤对我有效,可以回到Windows 10上的先前版本:
- 卸载函数 - emulator
- 卸载Firebase-Tools
- 删除函数 - emulator config &lt; ==这是我对 不知道的步骤
- 重新安装了以前的firebase-tools(6.7.2或6.8.0(
详细步骤:
Switch nodejs版本(如果有多个(。我从所有版本中删除了函数 - 释放器和燃箱工具。每个版本都需要卸载。
NVM使用8.16.0
卸载函数 - 发光器。更多信息:https://github.com/googlecloudplatform/cloud-functions-emulator/wiki/troubleshooting
npm卸载-G @google-cloud/functions-emulator
卸载firebase-tools
npm卸载-g firebase -tools
删除在'c: users yourusername .config .config configstore@google-cloud functions-emulator'
的功能 - emulator配置文件夹中安装先前版本的firebase-tools。版本在https://www.npmjs.com/package/firebase-tools
上列出npm安装-G firebase -tools@6.8.0
我相信您可能只能使用一个nodejs版本使用函数 - 发言器,因此,如果您使用8.16.0安装它,请确保您在使用'> nvm使用8.16.0'之前,请先切换到该版本开始测试云功能本地
登录firebase
firebase登录
在您的项目目录中更新功能和管理软件包
npm安装firebase-runctions@最新firebase-admin@最新 - 萨夫
开始测试本地
firebase功能:外壳 或使用 firebase服务
注意:直接使用'Firebase Emulators:start'调用函数 - emulator'行不通。
在GitHub上遵循此问题的更新:https://github.com/firebase/firebase-tools/issues/1258