Currently the CLI install process does the following looks for packages that contains native modules and reinstall them. For example, appcd contains a native module, so whenever I download the appc cli, the appcd version in the CLI is reinstalled.
We have mostly operated on the basis that a CLI distribution is locked down, but by reinstalling a package we're effectively recreating the dep tree underneath that package, leading to issues like
I propose that rather than reinstalling the package, we take a similar approach to what's done elsewhere in the CLI where we run npm rebuild in the root dir. This has two advantages
1) CLIs become locked down "again" as we're just rebuilding native modules, not reinstalling
2) A CLI install becomes much faster I believe, on my machine a rebuild is way faster than an install