Firebase deploy error - Cannot find module 'firebase'

16,116

Figured out the solution. I hadn't installed the firebase module in the functions folder but had included it in the parent folder of functions. I went into functions and ran npm install --save firebase and the deploy was successful.

Share:
16,116

Related videos on Youtube

skonz
Author by

skonz

Updated on August 14, 2022

Comments

  • skonz
    skonz over 1 year

    I'm trying to deploy Google Cloud function triggers that trigger from db events, but when I run firebase deploy The functions aren't deployed properly and I get an error saying Error: Cannot find module firebase

    When I was first creating the project I could deploy functions without any issues. It's been a few days since I last deployed anything, but now I'm getting this issue on all my functions (not just my trigger functions)

    My function:

    exports.deleteNotificationOnUnlike = functions
        .region("us-central1")
        .firestore.document("likes/{id}")
        .onDelete((snapshot) => {
            return db
                .doc(`/notifications/${snapshot.id}`)
                .delete()
                .catch((err) => console.error(err));
        });
    

    Package.json

    {
      "name": "functions",
      "description": "Cloud Functions for Firebase",
      "scripts": {
        "serve": "firebase serve --only functions",
        "shell": "firebase functions:shell",
        "start": "npm run shell",
        "deploy": "firebase deploy --only functions",
        "logs": "firebase functions:log"
      },
      "engines": {
        "node": "8"
      },
      "dependencies": {
        "busboy": "^0.3.1",
        "firebase-admin": "^8.0.0",
        "firebase-functions": "^3.1.0"
      },
      "devDependencies": {
        "firebase-functions-test": "^0.1.6"
      },
      "private": true
    }
    
    

    Expecting the functions to deploy successfully but getting this error:

    Error messages from firebase:

    Code in file index.js can't be loaded.
    Did you list all required modules in the package.json dependencies?
    Detailed stack trace: Error: Cannot find module 'firebase'
        at Function.Module._resolveFilename (module.js:548:15)
        at Function.Module._load (module.js:475:25)
        at Module.require (module.js:597:17)
        at require (internal/module.js:11:18)
        at Object.<anonymous> (/srv/handlers/users.js:5:18)
        at Module._compile (module.js:653:30)
        at Object.Module._extensions..js (module.js:664:10)
        at Module.load (module.js:566:32)
        at tryModuleLoad (module.js:506:12)
        at Function.Module._load (module.js:498:3)
    
    {"@type":"type.googleapis.com/google.cloud.audit.AuditLog","status":{"code":3,"message":"INVALID_ARGUMENT"},"authenticationInfo":{"principalEmail":"*********"},"requestMetadata":{"requestAttributes":{},"destinationAttributes":{}},"serviceName":"cloudfunctions.googleapis.com","methodName":"google.cloud.functions.v1.CloudFunctionsService.CreateFunction","resourceName":"projects/*******/locations/us-central1/functions/createNotificationOnComment"}
    

    I've seen some posts where people were missing some modules and needed to run an npm i XXX inside the functions folder, but I haven't seen any instances where it was saying that the firebase module couldn't be found, and I'm not sure what changes from my last successful deployment, or what module I might be missing.