nodejs nvm for macos
This commit is contained in:
@@ -1,27 +1,66 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
##makedesc: Install nodejs + npm via nvm
|
##makedesc: Install nodejs + npm via nvm
|
||||||
|
|
||||||
echo
|
isMac() { uname -s | grep -q "Darwin"; }
|
||||||
echo "==============================================="
|
isLinux() { uname -s | grep -q "Linux"; }
|
||||||
echo "Installing nodejs..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
installed() {
|
install() {
|
||||||
command -v "$1" >/dev/null 2>&1
|
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
|
||||||
}
|
}
|
||||||
|
|
||||||
installed "nvm" && sudo apt install -y --autoremove nodejs npm nvm
|
remove() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Removing nodejs + nvm..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
! installed "nvm" && wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
|
nvm unload
|
||||||
|
rm -rf "$NVM_DIR"
|
||||||
|
# sed -i "/NVM_DIR[=\].+/d" "$HOME/.profile"
|
||||||
|
brew uninstall nvm
|
||||||
|
|
||||||
export NVM_DIR="$HOME/.nvm"
|
echo
|
||||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
echo "Finish!"
|
||||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
nvm install-latest-npm
|
case "$1" in
|
||||||
nvm install node
|
r|remove|d|delete|p|purge) remove ;;
|
||||||
nvm use node
|
*) install ;;
|
||||||
echo "Finish!"
|
esac
|
||||||
nvm current
|
|
||||||
nvm ls
|
|
||||||
|
|||||||
Reference in New Issue
Block a user