当我运行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
在本地npm install
目录中运行npm install firebase-admin
,npm install --save firebase-admin
和functions
会返回以下错误消息:
npm ERR! Cannot read property '0' of undefined
我正在使用npm版本5.4.2。
我将~5.2.1
更改为^5.2.1
。
我删除了package-lock.json
,但这并没有解决问题。
当我在项目根目录和functions
目录中执行此操作时,我收到相同的错误消息。
有什么建议吗?
答案 0 :(得分:1)
rm -rf node_modules/
npm install
这对我有用。
答案 1 :(得分:0)
有用的是创建一个新目录并设置" Hello world" Firebase文档中的教程。这将创建一个包含node_modules
的{{1}}目录。然后,我将新的firebase-admin
目录与旧目录交换,并且它有效。
问题似乎是我已node_modules
全局安装,因此firebase-admin
无法在我的npm install
目录中本地安装,但functions
可以&# 39;找到全局节点模块,它必须有本地节点模块。这是我的猜测。
答案 2 :(得分:0)
删除node_modules文件夹或重命名它。之后,编辑package.json文件并将软件包版本设置为“*”以安装每个软件包的最新版本。