Basically if something looks perfect except for some random "must have X years of experience in Y" requirement, just apply anyway. Most likely it won't be a dealbreaker for them (the hiring manager at a decent-sized company may not even know that that was in the job posting), but the worst case scenario is that you won't get the job but will get some good interview experience.
That's why so many people lie about their experience on their resume, and I don't blame them.
A few years later, I was applying somewhere (Samsung?) for a semiconductor design position - and they wanted 5 years experience on "Mentor Graphics 8"[0]. I was semi-fluent on "Mentor Graphics 6", but that was a no-go.
It sounds as if things haven't changed.
[0] The naming scheme has changed, so this nomenclature is itself a no-go today.
Two weeks later I got a callback from them saying they wanted to offer me a job. I had already accepted a position. This is when I figured out that hiring managers have no idea about the talent pool they're dredging.
This company wasn't even in SV. They should have offered me a job on the spot, because the fact I had any knowledge of Java.
Because you even knew the word "Java"!
We were somehow part of a swirling cloud of folks somehow trying to buy Lycos about then. I don't know that CMU knew how to think about pricing such things. At least not the parts we were talking to. IBM seemed to be getting on with Doug Tygar's Citadel group, though, so it might have just been us that didn't know what we were doing! :-)
Perhaps the metric is inverted. Instead of years per language, it should be languages per year. Any software job today requires people that learn new stuff fast, not experts in 5 year old frameworks.
As far as I'm concerned, if a candidate has experience with Ember or Angular, I would never turn them down because they have not yet had the opportunity to work with React. A little bit of on-the-job training and some trial by fire, and most likely they'll be fine.
If I'm ever on the hunt for a new employer, I'm looking forward to getting turned down because I don't have 2 years experience working with Vue.js. It's idiotic, but I can guarantee it'll happen.
Or when they want years of experience with a specific framework, library, or other system.
I remember looking at Java positions last year (before I got my current job), and a lot of them would sound nice until I got to the item about "Must have X years of experience with Spring".
Yeah, I have a whole bunch of core Java under my belt, and I made the requirements for everything else, but because I don't have experience with that one library, I'm shut out.