#!/bin/bash # 下载并安装 nvm: # 检查 nvm 是否已安装(通过检查 nvm.sh 文件是否存在) echo "" if [ -f "$HOME/.nvm/nvm.sh" ]; then echo "✅ nvm 已安装" # 加载 nvm 环境变量 \. "$HOME/.nvm/nvm.sh" # 验证 nvm 是否可用 if type nvm >/dev/null 2>&1; then echo "📊 版本:$(nvm --version)" else echo "⚠️ nvm 文件存在但无法加载" fi else echo "📥 开始安装 nvm..." # 下载并安装 nvm if ! curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash; then echo "❌ nvm 下载失败" exit 1 fi # 加载 nvm 环境变量 if [ -f "$HOME/.nvm/nvm.sh" ]; then \. "$HOME/.nvm/nvm.sh" else echo "❌ nvm 安装文件未找到" exit 1 fi # 验证 nvm 安装是否成功 if type nvm >/dev/null 2>&1; then echo "✅ nvm 安装成功" echo "📊 版本:$(nvm --version)" else echo "❌ nvm 安装失败" exit 1 fi fi echo "" echo "" # 下载并安装 Node.js: if command -v node >/dev/null 2>&1; then echo "✅ Node.js 已安装" echo "📊 版本:$(node --version)" else echo "📥 开始安装 Node.js..." # 使用 nvm 安装 Node.js if ! nvm install 24; then echo "❌ Node.js 安装失败" exit 1 fi # 设置默认 Node.js 版本 if ! nvm use 24; then echo "❌ 设置 Node.js 版本失败" exit 1 fi # 验证 Node.js 安装是否成功 if command -v node >/dev/null 2>&1; then echo "✅ Node.js 安装成功" echo "📊 版本:$(node --version)" else echo "❌ Node.js 安装失败" exit 1 fi fi echo "" echo "" # 下载并安装 pnpm: if command -v pnpm >/dev/null 2>&1; then echo "✅ pnpm 已安装" echo "📊 版本:$(pnpm --version)" else echo "📥 开始安装 pnpm..." # 使用 corepack 启用 pnpm export COREPACK_ENABLE_DOWNLOAD_PROMPT=0; if ! corepack enable pnpm; then echo "❌ pnpm 启用失败" exit 1 fi # 验证 pnpm 安装是否成功 if command -v pnpm >/dev/null 2>&1; then echo "✅ pnpm 安装成功" echo "📊 版本:$(pnpm --version)" else echo "❌ pnpm 安装失败" exit 1 fi fi echo ""