|
@@ -1,26 +1,90 @@
|
|
|
#!/bin/bash
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
-echo "开始配置 pnpm 包管理器..."
|
|
|
|
|
-
|
|
|
|
|
# 下载并安装 nvm:
|
|
# 下载并安装 nvm:
|
|
|
-curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
|
|
|
|
|
|
|
+# 检查 nvm 是否已安装(通过检查 nvm.sh 文件是否存在)
|
|
|
|
|
+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
|
|
|
|
|
|
|
|
-# 代替重启 shell
|
|
|
|
|
-\. "$HOME/.nvm/nvm.sh"
|
|
|
|
|
|
|
+ # 加载 nvm 环境变量
|
|
|
|
|
+ if [ -f "$HOME/.nvm/nvm.sh" ]; then
|
|
|
|
|
+ \. "$HOME/.nvm/nvm.sh"
|
|
|
|
|
+ else
|
|
|
|
|
+ echo "❌ nvm 安装文件未找到"
|
|
|
|
|
+ exit 1
|
|
|
|
|
+ fi
|
|
|
|
|
|
|
|
-# 下载并安装 Node.js:
|
|
|
|
|
-nvm install 24
|
|
|
|
|
|
|
+ # 验证 nvm 安装是否成功
|
|
|
|
|
+ if type nvm >/dev/null 2>&1; then
|
|
|
|
|
+ echo "✅ nvm 安装成功"
|
|
|
|
|
+ echo "📊 版本:$(nvm --version)"
|
|
|
|
|
+ else
|
|
|
|
|
+ echo "❌ nvm 安装失败"
|
|
|
|
|
+ exit 1
|
|
|
|
|
+ fi
|
|
|
|
|
+fi
|
|
|
|
|
|
|
|
-# 验证 Node.js 版本:
|
|
|
|
|
-node -v # Should print "v24.14.1".
|
|
|
|
|
|
|
|
|
|
-# 下载并安装 pnpm:
|
|
|
|
|
-corepack enable pnpm
|
|
|
|
|
|
|
+# 下载并安装 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
|
|
|
|
|
|
|
|
-# 验证 pnpm 版本:
|
|
|
|
|
-pnpm -v
|
|
|
|
|
|
|
+ # 验证 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
|
|
|
|
|
|
|
|
-# 清理缓存
|
|
|
|
|
-pnpm run clean:cache
|
|
|
|
|
|
|
+# 下载并安装 pnpm:
|
|
|
|
|
+if command -v pnpm >/dev/null 2>&1; then
|
|
|
|
|
+ echo "✅ pnpm 已安装"
|
|
|
|
|
+ echo "📊 版本:$(pnpm --version)"
|
|
|
|
|
+else
|
|
|
|
|
+ echo "📥 开始安装 pnpm..."
|
|
|
|
|
+ # 使用 corepack 启用 pnpm
|
|
|
|
|
+ if ! corepack enable pnpm; then
|
|
|
|
|
+ echo "❌ pnpm 启用失败"
|
|
|
|
|
+ exit 1
|
|
|
|
|
+ fi
|
|
|
|
|
|
|
|
-echo "pnpm 包管理器配置完成!"
|
|
|
|
|
|
|
+ # 验证 pnpm 安装是否成功
|
|
|
|
|
+ if command -v pnpm >/dev/null 2>&1; then
|
|
|
|
|
+ echo "✅ pnpm 安装成功"
|
|
|
|
|
+ echo "📊 版本:$(pnpm --version)"
|
|
|
|
|
+ else
|
|
|
|
|
+ echo "❌ pnpm 安装失败"
|
|
|
|
|
+ exit 1
|
|
|
|
|
+ fi
|
|
|
|
|
+fi
|