Seguendo la guida di base della funzione di base di firebase e ottenendo un errore apparentemente semplice una volta che si prova a distribuire con:
firebase deploy --only functions i deploying functions Running command: npm --prefix $RESOURCE_DIR run lint npm ERR! path C:\Users\Beat\leginformant\$RESOURCE_DIR\package.json npm ERR! code ENOENT npm ERR! errno -4058 npm ERR! syscall open npm ERR! enoent ENOENT: no such file or directory, open 'C:\Users\Beat\leginformant\$RESOURCE_DIR\package.json' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent
Il file package.json esiste esattamente come il tutorial mostra nel mio progetto / functions / package.json. Ho provato a cambiare o stampare l’ambiente RESOURCE_DIR senza successo. Supponendo che sarebbe ambito all’interno dell’ambiente shell NPM.
versione npm: 5.6.0
versione del nodo: 8.9.0
Questo è un problema noto con Firebase CLI 3.17.0 tramite almeno 3.17.3, ma solo su Windows. Puoi sistemarlo sul tuo computer modificando firebase.json
nella radice del tuo progetto e sostituendo $RESOURCE_DIR
con %RESOURCE_DIR%
nei comandi di npm che vedi lì. Il primo è il modo syntax unix per usare una variabile d’ambiente, mentre il secondo è la syntax della shell dei comandi di Windows. Poiché utilizzi Windows, devi utilizzare la syntax di Windows.
Il team sta esaminando i modi per evitare di dover apportare modifiche ai file di configurazione che si utilizzano, in quanto non è davvero conveniente per i team che lavorano su tutta la piattaforma continuare a modificare lo stesso file avanti e indietro.
EDIT: questo problema dovrebbe essere risolto con progetti creati con CLI versione 3.17.5.
Durante la corsa
firebase init functions
Io uso questa configurazione
? What language would you like to use to write Cloud Functions? JavaScript //TypeScript doesn't work ? Do you want to use ESLint to catch probable bugs and enforce style? Yes //If you don't you will get a missing file lint ? File functions/package.json already exists. Overwrite? Yes ? Do you want to install dependencies with npm now? Yes //Why not
Quindi se usi Windows
Sostituisci $ RESOURCE_DIR di% RESOURCE_DIR% in firebase.json
Puoi risolvere questo problema accedendo al tuo file firebase.json
ed eliminare questa riga contenente RESOURCE_DIR
.
Come extra, eseguendo npm –prefix% RESOURCE_DIR% lint come @Deji James ha detto, mi ha fatto dei progressi ma ancora non ha funzionato.
Come suggerimento ho trovato questo https://github.com/firebase/firebase-tools/issues/610
e @merlinnot dice qui Ehi ragazzi, probabilmente avete tutti sth nel vostro predeploy in firebase.json, vero? Elimina quello che hai lì per ora, se non è così importante.
ha funzionato per me PS. prima di decidere di eliminare, ho fatto tutte le cose reinstallare, disinstallare le cose. Solo questo è funzionante.
Oltre agli altri suggerimenti, se si modifica il comando preflight / predeploy da:
"npm --prefix \"$RESOURCE_DIR\" run lint", OR "npm --prefix \"%RESOURCE_DIR%\" run lint"
a
"npm --prefix ./functions run lint"
il problema sembra essere risolto. Questo lo risolve anche per Windows e Linux.
Per visualizzare maggiori dettagli, vedere questa risposta (e ulteriori thread): https://github.com/firebase/firebase-tools/issues/610#issuecomment-360147507