'firebase deploy' Error - Must supply a public directory using "public" in each "hosting" config

I was using "public: "" to deploy the root directory. When it forced me to use a value I instead passed "public": "." which worked.


Got the same error and fixed it with adding "public" to firebase.json in the empty "public" attribute.

Your firebase.json should be like this.

"hosting": {
  "public": "public", // <- Added
  "ignore": [
    "firebase.json",
    "**/.*",
    "**/node_modules/**"
  ]
}