From a167f2f393d9bebd07dbc103a593ec52257aa01e Mon Sep 17 00:00:00 2001 From: Anthony Axenov Date: Sun, 29 Mar 2026 00:36:48 +0800 Subject: [PATCH] nodejs nvm for macos --- install/nodejs | 75 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 57 insertions(+), 18 deletions(-) diff --git a/install/nodejs b/install/nodejs index ab55a79..fa0c8ae 100755 --- a/install/nodejs +++ b/install/nodejs @@ -1,27 +1,66 @@ #!/usr/bin/env bash ##makedesc: Install nodejs + npm via nvm -echo -echo "===============================================" -echo "Installing nodejs..." -echo "===============================================" -echo +isMac() { uname -s | grep -q "Darwin"; } +isLinux() { uname -s | grep -q "Linux"; } -installed() { - command -v "$1" >/dev/null 2>&1 +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 } -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" -[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" -[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" + echo + echo "Finish!" + echo +} -nvm install-latest-npm -nvm install node -nvm use node -echo "Finish!" -nvm current -nvm ls +case "$1" in + r|remove|d|delete|p|purge) remove ;; + *) install ;; +esac