当我在函数目录中运行firebase deploy --only functions
时,我一直看到这个错误。我得到这个:
Error: Cannot find module 'diagnostics'
Require stack:
- C:UsersJohnsonAppDataRoamingnvmv12.16.1node_modulesfirebase-toolsnode_moduleswinstonlibwinstonexception-handler.js
- C:UsersJohnsonAppDataRoamingnvmv12.16.1node_modulesfirebase-toolsnode_moduleswinstonlibwinstonlogger.js
- C:UsersJohnsonAppDataRoamingnvmv12.16.1node_modulesfirebase-toolsnode_moduleswinstonlibwinstoncreate-logger.js
- C:UsersJohnsonAppDataRoamingnvmv12.16.1node_modulesfirebase-toolsnode_moduleswinstonlibwinston.js
- C:UsersJohnsonAppDataRoamingnvmv12.16.1node_modulesfirebase-toolsliblogger.js
- C:UsersJohnsonAppDataRoamingnvmv12.16.1node_modulesfirebase-toolslibindex.js
- C:UsersJohnsonAppDataRoamingnvmv12.16.1node_modulesfirebase-toolslibbinfirebase.js
这是我的package.json
:的内容
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"engines": {
"node": "10"
},
"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": {
"@woocommerce/woocommerce-rest-api": "^1.0.1",
"algoliasearch": "^4.0.3",
"firebase-admin": "^8.6.0",
"firebase-functions": "^3.6.1",
"moment": "^2.24.0",
"node-mailjet": "^3.3.1"
},
"devDependencies": {
"eslint": "^5.12.0",
"eslint-plugin-promise": "^4.0.1"
},
"private": true
}
我最近(几周前(将我的函数目录从Node 8更新到Node 10,不确定这是否与这个问题有关。我已经尝试删除node_modules
文件夹和package-lock.json
并运行npm install
。我也试过运行npm install -g firebase-tools
和firebase deploy --only functions
,但错误仍然存在。求你了,该怎么办?
我已经解决了这个问题。我只是从npm全局卸载了firebase工具并重新安装。这个问题可能是在我的电脑上运行Windows还原的副作用(谢谢Windows!(
有一个简单的解决方案可以解决许多节点/npm问题。首先,使用以下命令安装yarn:npm安装-g纱线
然后使用yarn为您的项目安装所有节点模块示例:
纱线添加您的型号模块
或
yarn添加全局your_node_modue(用于全局安装(
例如,如果你想使用firebase命令,并且它给出了一个错误或说";命令未找到";,然后这样做:
初始的纱线火球
纱线防火基地部署
等等。。。