Another node installer that bundle node with application.
Nodeinstall is not a node version switcher, it will install node locally(in node_modules). Then you can deploy application everywhere without Node installed.
You can start application with npm start
easily, npm will find node from $PWD/node_modules/.bin/node
Nodeinstall let application use the same node version in every environment(local development for production).
$ npm install nodeinstall -g
- ✔︎ Install Node to Local
- ✔︎ Support Alinode and NSolid
- ✔︎ Support RC and nighly
- ✔︎ Package Define
- ✔︎ Ignore Unsafe Versions
Install node to node_modules
$ nodeinstall 6.0.0
$ ./node_modules/.bin/node -v
You can use semver range to match the real version
$ nodeinstall ^6.0.0
$ ./node_modules/.bin/node -v
You can also use nodeinstall to install Alinode or NSolid
$ nodeinstall --install-alinode 1.6.0
$ ./node_modules/.bin/node -p 'process.versions.alinode'
$ nodeinstall --install-nsolid 1.6.0
$ ./node_modules/.bin/node -p 'process.versions.nsolid'
You can define version in package.json
{
"engines": {
"install-node": "^18.0.0"
}
}
Also support
If you are in China, you can use --china
flag to speed up.
const install = require('nodeinstall').install;
await install({
version: '^18.0.0',
});
The current directory, default is process.cwd
.
The version that you want to install, it also can be semver range that get the right version automatically.
Version matching is based on distUrl.
The url where to donwload the tarball, You can find all distUrl in config.js.
Use the mirror distUrl in china for speed.
The Map contains the unsafe version and the safe version.
For example, if you install 4.0.0 that is defined in unsafeVersions as an unsafe version, it will install 4.5.0 instead.
const unsafeVersions = {
'>= 1.0.0 < 4.4.4': '4.5.0',
};
Install Node, it's a default options. Ignore when package define matched..
Install Node RC, ignore when package define matched.
Install Alinode, ignore when package define matched.
Install NSolid, ignore when package define matched.
Install Node nightly, always be the latest version, ignore when package define matched.
Please open an issue here.
MIT
popomore |
fengmk2 |
gemwuu |
richardo2016 |
brucewar |
lceric |
---|
This project follows the git-contributor spec, auto updated at Sat Dec 10 2022 01:18:52 GMT+0800
.