Firebase déploie des erreurs à partir d'un code de sortie non nul (espace dans le chemin du projet)
j'ai eu des problèmes avec firebase commande deploy récemment. Après firebase deploy command tous les autres étaient déployés sauf firebase (stockage, base de données, etc) Donc j'ai décidé de réinstaller firebase pour corriger cette situation, mais après réinstaller mon problème est devenu plus grand. Aucun d'entre eux sont déployés avec l'erreur suivante:
i deploying database, functions
Running command: npm --prefix $RESOURCE_DIR run lint
npm ERR! path C:UsersfarukGoogle DriveAndroidfirebase$RESOURCE_DIRpackage.json
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open 'C:UsersfarukGoogle DriveAndroidfirebase$RESOURCE_DIRpackage.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! C:UsersfarukAppDataRoamingnpm-cache_logs18-01-24T18_21_34_878Z-debug.log
Error: functions predeploy error: Command terminated with non-zero exit code4294963238
après un peu de recherche, j'ai vu quelques sujets à ce sujet quels conseils à changer
$RESOURCE_DIR to %RESOURCE_DIR%
dans les systèmes windows (j'utilise windows 10 btw). Donc, j'ai édité mon firebase.json le fichier qui est dans un niveau supérieur de mon dossier fonctions. pareil. (Je ne sais pas si c'est le bon fichier que je dois modifier)
"database": {
"rules": "database.rules.json"
},
"functions": {
"predeploy": [
"npm --prefix %RESOURCE_DIR% run lint"
]
}
}
mais après cette édition, j'ai commencé à recevoir un autre message d'erreur comme celui-ci.
i deploying database, functions
Running command: npm --prefix %RESOURCE_DIR% run lint
Usage: npm <command>
where <command> is one of:
access, adduser, bin, bugs, c, cache, completion, config,
ddp, dedupe, deprecate, dist-tag, docs, doctor, edit,
explore, get, help, help-search, i, init, install,
install-test, it, link, list, ln, login, logout, ls,
outdated, owner, pack, ping, prefix, profile, prune,
publish, rb, rebuild, repo, restart, root, run, run-script,
s, se, search, set, shrinkwrap, star, stars, start, stop, t,
team, test, token, tst, un, uninstall, unpublish, unstar,
up, update, v, version, view, whoami
npm <command> -h quick help on <command>
npm -l display full usage info
npm help <term> search for help on <term>
npm help npm involved overview
Specify configs in the ini-formatted file:
C:Usersfaruk.npmrc
or on the command line via: npm <command> --key value
Config info can be viewed via: npm help config
npm@5.6.0 C:Program Filesnodejsnode_modulesnpm
Error: functions predeploy error: Command terminated with non-zero exit code1
tout conseil est apprécié. Merci à l'avance.
4 réponses
l'erreur provient du fait que vous avez un espace quelque part dans le chemin de votre projet ("Google Drive"):
C:\Users\faruk\Google Drive\Android\firebase$RESOURCE_DIR\package.json
malheureusement, cela confond la ligne de commande npm, et il prend cela comme deux arguments séparés par cet espace.
normalement, je m'attendrais à pouvoir placer des citations autour de la chose entière pour empêcher l'espace d'être interprété de cette façon. J'ai donc essayé ceci:
"predeploy": [
"npm --prefix \"%RESOURCE_DIR%\" run lint"
]
Et ça marche pour moi.
je vais faites un suivi interne auprès de L'équipe de Firebase sur cette question, ainsi que sur le fait que des changements doivent être apportés pour Windows.
Ce qui se passe réellement est que dans Windows, firebase.json
contient ce qui suit par défaut:
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint"
]
Modifier:
"predeploy": [
"npm --prefix \"%RESOURCE_DIR%\" run lint"
]
ça a marché pour moi, j'espère que ça va marcher pour toi.
J'ai eu le même problème avec Windows. Ce que j'ai fait, j'ai copié tous les fichiers qui étaient dans fonctions et passé à %RESOURCE_DIR% dossier et puis j'exécute La base de feu déployer et il s'est déployé avec succès.
pour moi, le problème était (je présume) parce que firebase
impossible de trouver le script.
N'a pas fonctionné:
{
"hosting": {
"predeploy": "predeploy.sh",
...
}
Running command: predeploy.sh
events.js:160
throw er; // Unhandled 'error' event
^
Error: spawn predeploy.sh ENOENT
at exports._errnoException (util.js:1020:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
at onErrorNT (internal/child_process.js:367:16)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
at Module.runMain (module.js:606:11)
at run (bootstrap_node.js:389:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:504:3
Error: hosting predeploy error: Command terminated with non-zero exit code1
Ne fonctionne: (note ./
)
{
"hosting": {
"predeploy": "./predeploy.sh",
...
}