The Cloud Functions emulator requires the module "firebase-admin" to be installed

Leo picture Leo · May 10, 2019 · Viewed 7.7k times · Source

Continuing to try to get firebase serve to work again. I just asked this question (and got a good reply, thanks): npm ERR! peer dep missing: firebase-admin@^7.0.0, required by [email protected]

When doing npm list firebase-admin I now see the expected output -- [email protected].

However firebase serve still does not work. I get this:

!  Your requested "node" version "6" doesn't match your global version "10"
...
!  The Cloud Functions emulator requires the module "firebase-admin" to be installed. This package is in your package.json, but it's not available. You probably need to run "npm install" in your functions directory.
i  functions: Your functions could not be parsed due to an issue with your node_modules (see above)

So firebase serve still does not see the firebase-admin module. What is going on? What should I do?

Answer

M.Lewis picture M.Lewis · May 10, 2019

It looks like this issue now relates to the Node version you have installed locally.

I don't know the answer off the top of my head, but start looking around the node versions.

In your functions/package.json - it may be that you need to specify which node version to use (https://firebase.google.com/docs/functions/manage-functions):

// functions/package.json

{
  "name": ...,
  "scripts": ...,
  "dependencies": ...,
  
  "engines": {
    "node": "10"
  }
 
}

Just be aware Node 10 is still in beta on Firebase.