Node Version Management
[Variatn 1]: Volta (Node Version Manager)
(Mike North - Tech Head Guy from LinkedIn recommend it)
$ curl https://get.volta.sh | bash
$ exec -l $SHELL
// Volta will choose the latest LTS
$ volta install node yarn npm
// $ volta install [email protected]
$ node -v
v18.15.0
$ npm -v
9.6.2
// Add current version info inside package.json
$ volta pin node yarn npm
package.json
"volta": {
"node": "v18.14.0",
"npm": "9.6.0"
},
// Disable asking for money
$ npm config set fund false --location=global
// If yarn will not create node_modules folder create with next content
$ vi .yarnrc.yml
nodeLinker: node-modules
[Variatn 2]: Node Version Manager (NVM) installation in Ubuntu 20.04
Install latest Node Version Manager (NVM)
-- current version
https://github.com/creationix/nvm/releases
-- installation
$ LATEST_VERSION=$(curl --silent "https://api.github.com/repos/nvm-sh/nvm/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/${LATEST_VERSION}/install.sh | bash
$ export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
$ nvm --version
0.36.0
Install latest Node.js LTS
// install latest LTS
$ nvm install --lts
$ node --version
v12.19.0
or
-- show possible
$ nvm ls-remote
// (Latest LTS: Erbium)
$ nvm install v12.19.0
$ nvm use v12.19.0
-- set default
$ nvm alias default v12.19.0
$ node --version
v12.19.0
For fast switching
$ {
nvm install v12.19.0
nvm use v12.19.0
nvm alias default v12.19.0
}
$ {
nvm install v8.17.0
nvm use v8.17.0
nvm alias default v8.17.0
}
Install latest NPM
$ nvm install-latest-npm
$ npm --version
6.14.8
Possible additional configs
packages.json
"engines": {
"node": ">=12.13.1",
"npm": ">=6.13.4"
},
.npmrc
engine-strict=true