Je suis nouveau sur firebase et j'essaie de créer une application simple qui utilise l'authentification de l'utilisateur. À ce stade du projet, j'essaie d'exécuter Firebase sur un serveur local à l'aide de commandes CLI.
J'ai configuré firebase init et firebase deploy. Quand je tape firebase serve sur mon dossier de projet, je reçois la réponse,
"Une erreur imprévue s'est produite".
Ci-dessous, je joins le contenu de mon fichier firebase-debug.log
. Toute aide serait appréciée. Merci
commande nécessite des étendues:
["email", "openid", " https://www.googleapis.com/auth/cloudplatformprojects.readonly ", " https://www.googleapis.com/auth/firebase " , ... [debug] [2017-06-11T17: 09: 09.607Z]> autoriser via l'utilisateur connecté
TypeError: Impossible de lire la propriété 'public' de non défini
Regardez dans votre fichier firebase.json, que vous devriez avoir dans le répertoire où vous exécutez firebase serve
. Cela devrait ressembler à quelque chose comme this :
{
"hosting": {
"public": "app",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
}
}
S'il n'a pas cette clé "hosting"
, vous obtiendrez cette erreur Cannot read property 'public' of undefined
car firebase serve
essaie d'accéder à .hosting.public
.
J'ai fait face à ce problème aujourd'hui, je l'ai exécuté avec --debug
et découvert que j'avais installé npm/node en tant que Sudo user, sous:
firebase serve
me donnait cette erreur:
Error: An unexpected error has occurred.
Lorsque je l'ai exécuté avec Sudo, j'ai pu déployer un hébergement et des fonctions localement:
Sudo firebase serve --debug --only hosting,functions
1 ) Créez un dossier appelé "public" et mettez vos fichiers à l'intérieur.
2 ) éditez le fichier firebase.json et écrivez simplement ceci:
{
"hosting": {
"public": "public"
}
}
Cela semble être un bogue - idéalement, il devrait être résolu avec Firebase Init
. J'ai enregistré un ticket d'assistance auprès de Firebase et j'encourage les autres à faire de même.
Quant à moi l'erreur est (--debug
attr)
Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/firebase-tools/node_modules/@google-cloud/functions-emulator/logs'
Donc, la solution sera de courir avec Sudo
Je pense que vous avez peut-être sauté une étape d'initialisation par accident (j'ai fait la même chose lors de ma première exécution)
Essayez ceci (à partir du même répertoire de projet):
1) init firebase
2) Lorsque vous êtes invité à spécifier les services dont vous aurez besoin, assurez-vous que les marqueurs des options de base de données ET d'hébergement sont surlignés en vert (onglet Hébergement avec la barre d'espacement). Il est facile de sélectionner uniquement la base de données et de la laisser exécuter sa configuration en supposant qu'elle configure toutes les options à puces ci-dessous si vous ne regardez pas attentivement, car les informations sur la sortie standard ne sont pas très claires. Maintenant, appuyez sur Entrée
3) Acceptez les paramètres de base de données par défaut comme vous l’avez probablement fait auparavant. Lorsque l’on vous demande "Que voulez-vous utiliser comme répertoire public? (Public)", appuyez sur Entrée.
À ce stade, vous devriez être prêt à faire tourner un serveur Web firebase local ...
4) essayez 'firebase serve', appuyez sur Entrée, et vous devriez obtenir une vérification du fait que les fichiers d'hébergement sont servis depuis/public
J'espère que cela t'aides. Bonne chance.