I have a fresh install of firebase tools (following this tutorial) and I'm trying to upload my first firebase function. I get this issue with the hello-world example that they initialise when you run firebase init (The only set up the functions CLI feature during the init)
If I replace $RESOURCE_DIR
in firebase.json
with my functions folder it works, but of course that Is bad practice and I'd like to find a proper $RESOURCE_DIR
replacement that works.
PS D:\workspace\firebase-functions> firebase deploy
=== Deploying to 'newagent-5221d'...
i deploying functions
Running command: npm --prefix $RESOURCE_DIR run lint
npm ERR! path D:\workspace\firebase-functions\$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 'D:\workspace\firebase-functions\$RESOURCE_DIR\package.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:\Users\dtlut\AppData\Roaming\npm-cache\_logs\2018-01-19T15_57_22_990Z-debug.log
Error: functions predeploy error: Command terminated with non-zero exit code4294963238
It wants to lint your cloud functions, meaning it will check your code for obvious errors like a compiled language would throw errors at compile time.
It's not necessary, you can always remove it by going into firebase.json and updating functions.predeploy to be an empty array.
What is "Linting"?
Try to replace $RESOURCE_DIR with %RESOURCE_DIR% in your
firebase.json
file.SUMMARIZING
Install ESLint locally to add "devDependencies" to package.json. Run:
Workaround for Windows as stated above. Change firebase.json:
Optionally, add the following to package.json:
you can simply make your firebase.json file like this:
what I'm doing is replace $RESOURCE_DIR with hard coded path of function folder itis working nice for me
This one should solve the issue without workaround
npm install -g git://github.com/firebase/firebase-tools#master
please try this installation again in ur project folder it should solve the issue.
Modify in firebase.json from "
npm --prefix $RESOURCE_DIR run lint
" to "npm --prefix %RESOURCE_DIR% run lint
"