| Your original point was: > you could not have different versions sitting side-by-side. bundler can't do that either. You can't depend on both rails 5 and rails 6 in a single package. Most languages can't do that. > Any project that's lived long enough runs into some sort of version mis-match where the solution is `rm -rf node_modules`. I agree, but that's not the only solution, as I've said you could write something similar to require "bundler/setup" in JS that does version checking. > The version of ruby and the version of the gem are explicit allowing separation. You can specify the node version in your package.json. EDIT: on the version checking point, I agree that this is a deficiency of npm. It probably should ship something similar to bundler/setup by default and encourage users to do require('npm/validatePackageVersions') # or import 'npm/...' in es6
in their top level code.I was just pointing out that this is not a fundamental limitation of npm, and it should be fairly easy to implement in user-level code |
You're right. Originally I was speaking about package versions which deno does solve, but then I brought in node versions w/o explicitly stating so.
That's managed/wrapped at rbenv's level which I hope deno can come up with a way to solve it. But looking at deno briefly, it appears the packages are still stored locally which leaves the deno version mismatch a possibility still.