setup-pnpm.sh 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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. if ! corepack enable pnpm; then
  75. echo "❌ pnpm 启用失败"
  76. exit 1
  77. fi
  78. # 验证 pnpm 安装是否成功
  79. if command -v pnpm >/dev/null 2>&1; then
  80. echo "✅ pnpm 安装成功"
  81. echo "📊 版本:$(pnpm --version)"
  82. else
  83. echo "❌ pnpm 安装失败"
  84. exit 1
  85. fi
  86. fi
  87. echo ""