当我在functions目录中运行firebase deploy --only functions时,我一直看到这个错误。我明白了:
Error: Cannot find module 'diagnostics'
Require stack:
- C:\Users\Johnson\AppData\Roaming\nvm\v12.16.1\node_modules\firebase-tools\node_modules\winston\lib\winston\exception-handler.js
- C:\Users\Johnson\AppData\Roaming\nvm\v12.16.1\node_modules\firebase-tools\node_modules\winston\lib\winston\logger.js
- C:\Users\Johnson\AppData\Roaming\nvm\v12.16.1\node_modules\firebase-tools\node_modules\winston\lib\winston\create-logger.js
- C:\Users\Johnson\AppData\Roaming\nvm\v12.16.1\node_modules\firebase-tools\node_modules\winston\lib\winston.js
- C:\Users\Johnson\AppData\Roaming\nvm\v12.16.1\node_modules\firebase-tools\lib\logger.js
- C:\Users\Johnson\AppData\Roaming\nvm\v12.16.1\node_modules\firebase-tools\lib\index.js
- C:\Users\Johnson\AppData\Roaming\nvm\v12.16.1\node_modules\firebase-tools\lib\bin\firebase.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,但错误仍然存在。求求你,该怎么办?
发布于 2020-07-09 08:49:45
我已经解决了这个问题。我只是从npm全局卸载并重新安装了firebase-tools。该问题可能是在我的PC上运行Windows restore时产生的副作用(谢谢Windows!)
发布于 2021-06-09 21:59:27
有一个简单的解决方案可以解决许多这样的节点/npm问题。首先,使用以下命令安装yarn : npm install -g yarn
然后使用yarn安装项目示例的所有节点模块:
纱线添加your_node_module
或
yarn添加全局your_node_modue (用于全局安装)
例如,如果您想要使用firebase命令,而它给出一个错误或显示"command not found",则执行以下操作:
纱线firebase初始化
yarn firebase部署
等等。
https://stackoverflow.com/questions/62805084
复制相似问题