setup-pnpm.sh 2.3 KB

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