Package Exports
- get-node
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (get-node) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Download a specific version of Node.js.
The Node.js release is downloaded, uncompressed and untared to an executable file ready to run.
Fast:
- the download is cached
- the best compression algorithm available on your machine is used
- everything is streamed
Reliable:
- the binary is checked against official checksums
- can be safely run concurrently
- atomic writes
Features include:
- Linux/Mac/Windows support
- works with old Node.js versions
- progress bar
- using version ranges
- specifying a mirror website for nodejs.org
- helpful error messages
Example
const getNode = require('get-node')
// Download a specific Node.js release
const { path, version } = await getNode('8')
console.log(path) // /home/user/.cache/nve/8.16.2/node
console.log(version) // 8.16.2
// Download Node.js latest release
const { path, version } = await getNode('*')
console.log(path) // /home/user/.cache/nve/13.0.1/node
console.log(version) // 13.0.1
// Any version range can be used
await getNode('8.12.0')
await getNode('<7')
// Specify the output directory
const { path } = await getNode('8', {
output: '/home/user/.cache/node_releases/',
})
console.log(path) // /home/user/.cache/node_releases/13.0.1/node
// Use a mirror website
await getNode('8', { mirror: 'https://npm.taobao.org/mirrors/node' })Install
npm install get-nodenode >=8.12.0 must be globally installed. However any Node version can be
downloaded.
To use this module as a CLI instead, please check
get-node-cli.
Usage
getNode(version, options?)
version: stringoptions: object?
Return value: Promise<object>
version can be any version range such as
12, 12.6.0 or <12.
Options
output
Type: string
Default: global cache directory
such as /home/user/.cache/nve/.
Output directory for the node executable.
It the directory already has a node executable, no download is performed. This
enables caching.
progress
Type: boolean Default: false
Whether to show a progress bar.
mirror
Type: string
Default: https://nodejs.org/dist
Base URL. Can be overridden (for example https://npm.taobao.org/mirrors/node).
The following environment variables can also be used: NODE_MIRROR,
NVM_NODEJS_ORG_MIRROR, N_NODE_MIRROR or NODIST_NODE_MIRROR.
Return value
The returned Promise resolves to an object with the following properties.
path
Type: string
Absolute path to the node executable.
version
Type: string
Normalized Node.js version.
See also
get-node-cli:get-nodeas a CLInve: Run a specific Node.js version (CLI)nvexeca: Run a specific Node.js version (programmatic)normalize-node-version: Normalize and validate Node.js versionsall-node-versions: List all available Node.js versionsfetch-node-website: Fetch releases on nodejs.orgglobal-cache-dir: Get the global cache directory
Support
If you found a bug or would like a new feature, don't hesitate to submit an issue on GitHub.
For other questions, feel free to chat with us on Gitter.
Everyone is welcome regardless of personal background. We enforce a Code of conduct in order to promote a positive and inclusive environment.
Contributing
This project was made with ❤️. The simplest way to give back is by starring and sharing it online.
If the documentation is unclear or has a typo, please click on the page's Edit
button (pencil icon) and suggest a correction.
If you would like to help us fix a bug or add a new feature, please check our guidelines. Pull requests are welcome!
Thanks go to our wonderful contributors:
ehmicky 💻 🎨 🤔 📖 |
Charlike Mike Reagent 🐛 |