zkat / npx

execute npm package binaries (moved)
https://github.com/npm/npx
Other
2.63k stars 105 forks source link

Multiple `-p` support #13

Closed zkat closed 7 years ago

zkat commented 7 years ago

So far, we've been framing -p as "this is the package the binary comes from".

As of d9175e8d03e0fc04e05c1bb72cab0e64c9427412, though, this understanding became something more like "this is a package that should be put in the current environment so that <command> or its sub-processes might find it".

What that means is we can totally have multiple -p options now for folks who want to set up a command that sets up a few tools at a time. One example of this might be:

$ npx -p node-bin@6 -p npm@4 npm --versions

This change has also created another problem that needs to be solved: the "hidden" _npx directory where non-installed binaries end up can now cause hidden, unintended conflicts. That means that we'll have to remove the directory between npx runs altogether. That, or we'll have to put each binary in its own prefix, so we can update them (#11) more efficiently, instead of doing a full install every time.