Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Install node-js, npm and yarn on Ubuntu/Mac using nvm
#!/bin/sh
# Install node and npm via nvm - https://github.com/nvm-sh/nvm
# Run this script like - bash script-name.sh
# Define versions
INSTALL_NODE_VER=14
INSTALL_NVM_VER=0.38.0
# You can pass argument to this script --version 8
if [ "$1" = '--version' ]; then
echo "==> Using specified node version - $2"
INSTALL_NODE_VER=$2
fi
echo "==> Make sure bash profile exists and writable"
touch ~/.zshrc
touch ~/.bash_profile
echo "==> Installing node version manager version $INSTALL_NVM_VER"
# Removed if already installed
rm -rf ~/.nvm
# Unset exported variable
export NVM_DIR=
# Install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v$INSTALL_NVM_VER/install.sh | bash
# Make nvm command available to terminal
source ~/.nvm/nvm.sh
echo "==> Installing node js version $INSTALL_NODE_VER"
nvm install $INSTALL_NODE_VER
echo "==> Make this version system default"
nvm alias default $INSTALL_NODE_VER
nvm use default
#echo -e "==> Update npm to latest version, if this stuck then terminate (CTRL+C) the execution"
#npm install -g npm
echo "==> Installing Yarn package manager"
rm -rf ~/.yarn
curl -o- -L https://yarnpkg.com/install.sh | bash
# Yarn configurations
export PATH="$HOME/.yarn/bin:$PATH"
yarn config set prefix ~/.yarn -g
# npm configs
npm config set update-notifier false
echo "==> Checking for versions"
nvm --version
node --version
npm --version
yarn --version
echo "==> Print binary paths"
which npm
which node
which yarn
echo "==> List installed node versions"
nvm ls
nvm cache clear
echo "==> Please Logout and Login back to take changes effect"
echo "https://github.com/nvm-sh/nvm"
# Tested on Ubuntu, MacOS

How to update nvm itself ?

cd ~/.nvm
./install.sh

Wants to try something else ?

💡 Quick install - Run this script in terminal

curl -o- https://gist.githubusercontent.com/ankurk91/8f107ef490f40f74a1cf/raw/install-node-js.sh | bash

# specify your node version, for example 8
curl -o- https://gist.githubusercontent.com/ankurk91/8f107ef490f40f74a1cf/raw/install-node-js.sh | bash -s -- --version 8 
@ankurk91

This comment has been minimized.

Copy link
Owner Author

@ankurk91 ankurk91 commented Jul 6, 2019

Reserved commit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment