When I run
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
npm install
npm install firebase-admin
npm install --save firebase-admin
functions
npm ERR! Cannot read property '0' of undefined
~5.2.1
^5.2.1
package-lock.json
functions
What worked was to make a fresh directory and set up the "Hello world" tutorial from the Firebase documentation. This creates a node_modules
directory that includes firebase-admin
. I then swapped the new node_modules
directory with the old directory and it worked.
The problem appears to have been that I had firebase-admin
installed globally so npm install
wouldn't install it locally in my functions
directory, but firebase deploy
can't find global Node modules, it has to have local Node modules. That's my guess.