firebase-tools "Error: certificate has expired"

Hossein Rashno picture Hossein Rashno · Jan 7, 2020 · Viewed 8.4k times · Source

This morning I tried to deploy my react project to firebase hosting but I received this error:

Error: Server Error. certificate has expired

Then I tried to execute firebase list command to see the list of my projects but again I received the same error! I tried it on other projects with the same result. So I believe this error is not related to a specific project and it has something to do with firebase-tools. Here is the error log:

[debug] 
[debug] [2020-01-07T03:37:57.789Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[debug] [2020-01-07T03:37:57.789Z] > authorizing via signed-in user
[debug] [2020-01-07T03:37:57.792Z] >>> HTTP REQUEST GET https://admin.firebase.com/v1/projects  

[debug] [2020-01-07T03:37:58.566Z] Error: certificate has expired
    at TLSSocket.<anonymous> (_tls_wrap.js:1116:38)
    at emitNone (events.js:106:13)
    at TLSSocket.emit (events.js:208:7)
    at TLSSocket._finishInit (_tls_wrap.js:643:8)
    at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:473:38)
[error] 
[error] Error: Server Error. certificate has expired

Answer

Hossein Rashno picture Hossein Rashno · Jan 7, 2020

I found the solution. First, do this:

npm i -g firebase-tools@latest

It looks like I'm using an outdated version of Firebase CLI. This error happened because the older versions of CLI are linked to legacy Firebase services that are no longer operational. Upgrading to the latest CLI version is the only solution.

Then you need to use new commands instead of deprecated ones. For example:

firebase projects:list  //instead of firebase list