67 lines
1.5 KiB
Bash
Executable File
67 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
##makedesc: Install nodejs + npm via nvm
|
|
|
|
isMac() { uname -s | grep -q "Darwin"; }
|
|
isLinux() { uname -s | grep -q "Linux"; }
|
|
|
|
install() {
|
|
echo
|
|
echo "==============================================="
|
|
echo "Installing nodejs + nvm..."
|
|
echo "==============================================="
|
|
echo
|
|
|
|
if isMac; then
|
|
brew install nvm
|
|
elif isLinux; then
|
|
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
|
|
else
|
|
echo "This OS is not supported yet!"
|
|
exit
|
|
fi
|
|
nvm install-latest-npm
|
|
nvm install node
|
|
nvm use node
|
|
export NVM_DIR="$HOME/.nvm"
|
|
[ -s "$NVM_DIR/nvm.sh" ] && source "$NVM_DIR/nvm.sh"
|
|
[ -s "$NVM_DIR/bash_completion" ] && source "$NVM_DIR/bash_completion"
|
|
|
|
cat << EOF >> "$HOME/.profile"
|
|
|
|
# nvm (not nvim!)
|
|
export NVM_DIR="\$HOME/.nvm" # nvim_autoinstalled
|
|
[ -s "\$NVM_DIR/nvm.sh" ] && source "\$NVM_DIR/nvm.sh" # nvim_autoinstalled
|
|
[ -s "\$NVM_DIR/bash_completion" ] && source "\$NVM_DIR/bash_completion" # nvim_autoinstalled
|
|
|
|
EOF
|
|
|
|
echo
|
|
echo "Finish!"
|
|
echo
|
|
|
|
nvm current
|
|
nvm ls
|
|
}
|
|
|
|
remove() {
|
|
echo
|
|
echo "==============================================="
|
|
echo "Removing nodejs + nvm..."
|
|
echo "==============================================="
|
|
echo
|
|
|
|
nvm unload
|
|
rm -rf "$NVM_DIR"
|
|
# sed -i "/NVM_DIR[=\].+/d" "$HOME/.profile"
|
|
brew uninstall nvm
|
|
|
|
echo
|
|
echo "Finish!"
|
|
echo
|
|
}
|
|
|
|
case "$1" in
|
|
r|remove|d|delete|p|purge) remove ;;
|
|
*) install ;;
|
|
esac
|