setup-pnpm.sh 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #!/bin/bash
  2. # 下载并安装 nvm:
  3. # 检查 nvm 是否已安装(通过检查 nvm.sh 文件是否存在)
  4. if [ -f "$HOME/.nvm/nvm.sh" ]; then
  5. echo "✅ nvm 已安装"
  6. # 加载 nvm 环境变量
  7. \. "$HOME/.nvm/nvm.sh"
  8. # 验证 nvm 是否可用
  9. if type nvm >/dev/null 2>&1; then
  10. echo "📊 版本:$(nvm --version)"
  11. else
  12. echo "⚠️ nvm 文件存在但无法加载"
  13. fi
  14. else
  15. echo "📥 开始安装 nvm..."
  16. # 下载并安装 nvm
  17. if ! curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash; then
  18. echo "❌ nvm 下载失败"
  19. exit 1
  20. fi
  21. # 加载 nvm 环境变量
  22. if [ -f "$HOME/.nvm/nvm.sh" ]; then
  23. \. "$HOME/.nvm/nvm.sh"
  24. else
  25. echo "❌ nvm 安装文件未找到"
  26. exit 1
  27. fi
  28. # 验证 nvm 安装是否成功
  29. if type nvm >/dev/null 2>&1; then
  30. echo "✅ nvm 安装成功"
  31. echo "📊 版本:$(nvm --version)"
  32. else
  33. echo "❌ nvm 安装失败"
  34. exit 1
  35. fi
  36. fi
  37. # 下载并安装 Node.js:
  38. if command -v node >/dev/null 2>&1; then
  39. echo "✅ Node.js 已安装"
  40. echo "📊 版本:$(node --version)"
  41. else
  42. echo "📥 开始安装 Node.js..."
  43. # 使用 nvm 安装 Node.js
  44. if ! nvm install 24; then
  45. echo "❌ Node.js 安装失败"
  46. exit 1
  47. fi
  48. # 设置默认 Node.js 版本
  49. if ! nvm use 24; then
  50. echo "❌ 设置 Node.js 版本失败"
  51. exit 1
  52. fi
  53. # 验证 Node.js 安装是否成功
  54. if command -v node >/dev/null 2>&1; then
  55. echo "✅ Node.js 安装成功"
  56. echo "📊 版本:$(node --version)"
  57. else
  58. echo "❌ Node.js 安装失败"
  59. exit 1
  60. fi
  61. fi
  62. # 下载并安装 pnpm:
  63. if command -v pnpm >/dev/null 2>&1; then
  64. echo "✅ pnpm 已安装"
  65. echo "📊 版本:$(pnpm --version)"
  66. else
  67. echo "📥 开始安装 pnpm..."
  68. # 使用 corepack 启用 pnpm
  69. if ! corepack enable pnpm; then
  70. echo "❌ pnpm 启用失败"
  71. exit 1
  72. fi
  73. # 验证 pnpm 安装是否成功
  74. if command -v pnpm >/dev/null 2>&1; then
  75. echo "✅ pnpm 安装成功"
  76. echo "📊 版本:$(pnpm --version)"
  77. else
  78. echo "❌ pnpm 安装失败"
  79. exit 1
  80. fi
  81. fi