Firebase Firebase部署错误的云端函数:错误parsing触发器:无法find模块'firebase-admin'“

当我运行firebase deploy我得到这个错误:

 Error parsing triggers: Cannot find module 'firebase-admin' 

这是我的代码:

 const functions = require('firebase-functions'); const admin = require('firebase-admin'); 

我的package.json是:

  { "name": "functions", "description": "Cloud Functions for Firebase", "dependencies": { "firebase-admin": "^5.2.1", "firebase-functions": "^0.6.2", "request": "^2.83.0" }, "private": true } 

这里是我的全局节点模块:

 npm list -g --depth=0 /Users/TDK/.nvm/versions/node/v6.11.2/lib ├── child_process@1.0.2 ├── firebase-admin@5.3.0 ├── firebase-tools@3.12.0 ├── fs@0.0.2 ├── npm@5.4.2 └── request@2.83.0 

我没有在本地安装firebase-admin在这里输入图像说明

在本地functions目录中运行npm installnpm install firebase-adminnpm install --save firebase-admin返回这个错误信息:

 npm ERR! Cannot read property '0' of undefined 

我正在使用npm版本5.4.2。

我把~5.2.1改成^5.2.1

我删除了package-lock.json但没有解决问题。

当我在项目根目录和functions目录中执行此操作时,会得到相同的错误消息。

有什么build议么?

 rm -rf node_modules/ npm install 

这为我做了诡计。

有用的是创build一个新的目录,并从Firebase文档中设置“Hello world”教程。 这将创build一个包含node_modules firebase-adminnode_modules目录。 然后我用新的目录交换新的node_modules目录,它工作。

问题似乎是我已经全局npm installfirebase-admin ,所以npm install不会在本地安装在我的functions目录中,但firebase deploy不能find全局的Node模块,它必须有本地的Node模块。 这是我的猜测。