I did an "npm install --save-dev async", and got this.

semver does specify carets https://github.com/isaacs/node-semver  They indicate compatibility in a slightly different way than ~'s.

If its giving you an error, I wonder if it has to do with the version of semver / npm we're using. It seems very unfortunate those components would introduce breaking changes, though.