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
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