This commit is contained in:
2026-07-10 15:11:51 +08:00
parent 8bfcf23bc2
commit da17239d7d
148 changed files with 2542 additions and 4873 deletions
+38 -21
View File
@@ -1,59 +1,76 @@
#!/usr/bin/env bash
##makedesc: Install nodejs + npm via nvm
isMac() { uname -s | grep -q "Darwin"; }
isLinux() { uname -s | grep -q "Linux"; }
set -eo pipefail
installed() { command -v "$1" >/dev/null 2>&1; }
isMac() { [ "$(uname -s)" = "Darwin" ]; }
isLinux() { [ "$(uname -s)" = "Linux" ]; }
NVM_DIR="${NVM_DIR:-$HOME/.nvm}"
install() {
echo
echo "==============================================="
echo "Installing nodejs + nvm..."
echo "Installing nodejs + nvm"
echo "==============================================="
echo
if isMac; then
brew install nvm
if installed brew; then
brew install nvm
else
echo "ERROR: Install Homebrew first." >&2
exit 1
fi
elif isLinux; then
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
else
echo "This OS is not supported yet!"
exit
echo "ERROR: This OS is not supported yet!" >&2
exit 1
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 install-latest-npm
nvm install node
nvm use node
if ! grep -q 'NVM_DIR' "$HOME/.profile" 2>/dev/null; then
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
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"
EOF
fi
echo
echo "Finish!"
echo
nvm current
nvm ls
echo
}
remove() {
echo
echo "==============================================="
echo "Removing nodejs + nvm..."
echo "Removing nodejs + nvm"
echo "==============================================="
echo
nvm unload
if command -v nvm >/dev/null 2>&1; then
nvm unload 2>/dev/null || true
fi
rm -rf "$NVM_DIR"
# sed -i "/NVM_DIR[=\].+/d" "$HOME/.profile"
brew uninstall nvm
sed -i '/NVM_DIR/d' "$HOME/.profile" 2>/dev/null || true
if isMac && installed brew; then
brew uninstall nvm 2>/dev/null || true
fi
echo
echo "Finish!"