繁体   English   中英

Cloud Functions for Firebase firebase 部署错误:“解析触发器时出错:找不到模块‘firebase-admin’”

[英]Cloud Functions for Firebase firebase deploy error: "Error parsing triggers: Cannot find module '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目录中执行此操作时,我收到相同的错误消息。

有什么建议?

rm -rf node_modules/

npm install

这对我有用。

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

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

删除 node_modules 文件夹或重命名它。 之后,编辑您的 package.json 文件并将包版本设置为“*”以安装每个包的最新版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM