Well ok, your Node is out of date, and not an LTS. I’d fix that first. Either update to the LTS of track 6, or to 8.6. Both are fine.
In general, impose discipline on yourself to never manually edit package.json, ever. Allow npm to do all that work. This is even more important if you’re running npm 5, to ensure consistency between package.json and package.lock.json.
Specifically for this problem, I’d suggest you use npm to uninstall firebase and angularfire2, then rerun the official install command on the angularfire2 readme page. Allow npm to choose which version fits you, unless you have the expertise to push past that. (And it sounds as though you don’t yet, no offense.)
I found that reading the wikipedia pages on npm and NodeJS to be extremely helpful. It’s a bit of a time sink, because the content is dense, but it clarified a lot of things for me. I had been treating them like “just a command line.” Easy to do, I think, because that’s what it looks like. But there’s a lot more going on.