46 lines
1.0 KiB
Bash
46 lines
1.0 KiB
Bash
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
# Install NVM
|
|
export NVM_DIR="$HOME/.nvm"
|
|
mkdir -p "$NVM_DIR"
|
|
|
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
|
|
. "$NVM_DIR/nvm.sh"
|
|
|
|
# Preinstall a few nodejs versions
|
|
nvm install --lts # The first version installed becomes the default
|
|
nvm install 18
|
|
nvm install 20
|
|
nvm install 22
|
|
|
|
# Preinstall all package managers
|
|
corepack prepare npm --activate
|
|
corepack prepare yarn --activate
|
|
corepack prepare pnpm --activate
|
|
# corepack disable
|
|
corepack enable npm
|
|
corepack enable pnpm
|
|
corepack enable yarn
|
|
|
|
# Set up PNPM environment for the current script execution
|
|
export PNPM_HOME="$HOME/.local/share/pnpm"
|
|
mkdir -p "$PNPM_HOME"
|
|
export PATH="$PNPM_HOME:$PATH"
|
|
|
|
# Now install global packages
|
|
pnpm add -g vscode-langservers-extracted typescript-language-server
|
|
|
|
# Also add to .zshrc for future shell sessions
|
|
cat << 'EOF' >> $HOME/.zshrc
|
|
|
|
# pnpm
|
|
export PNPM_HOME="$HOME/.local/share/pnpm"
|
|
case ":$PATH:" in
|
|
*":$PNPM_HOME:"*) ;;
|
|
*) export PATH="$PNPM_HOME:$PATH" ;;
|
|
esac
|
|
# pnpm end
|
|
EOF
|