diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 8b3363b..8fdd616 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -80,14 +80,14 @@ jobs: echo "✅ pnpm已恢复: $(pnpm --version)" else echo "📥 未找到缓存的pnpm,将重新安装..." - # 安装pnpm到缓存目录 + # 直接安装pnpm到全局 + npm install -g pnpm + # 复制pnpm到缓存目录 mkdir -p "$PNPM_CACHE_DIR" - npm install -g pnpm --prefix "$PNPM_CACHE_DIR" - # 找到安装的pnpm并添加到PATH - PNPM_PATH="$PNPM_CACHE_DIR/node_modules/.bin/pnpm" - if [ -f "$PNPM_PATH" ]; then - export PATH="$PNPM_CACHE_DIR/node_modules/.bin:$PATH" - echo "✅ pnpm安装完成: $(pnpm --version)" + PNPM_PATH=$(which pnpm) + if [ -n "$PNPM_PATH" ] && [ -f "$PNPM_PATH" ]; then + cp "$PNPM_PATH" "$PNPM_CACHE_DIR/" + echo "✅ pnpm安装完成并已缓存: $(pnpm --version)" else echo "❌ pnpm安装失败" exit 1 @@ -203,14 +203,7 @@ jobs: cp "$PNPM_PATH" "$PNPM_BIN_DIR/" echo "✅ pnpm已保存到缓存: $PNPM_BIN_DIR/pnpm" else - # 尝试从node_modules复制 - NODE_MODULES_PNPM="/opt/hostedtoolcache/pnpm-bin/node_modules/.bin/pnpm" - if [ -f "$NODE_MODULES_PNPM" ]; then - cp "$NODE_MODULES_PNPM" "$PNPM_BIN_DIR/" - echo "✅ pnpm已保存到缓存: $PNPM_BIN_DIR/pnpm" - else - echo "⚠️ 无法找到pnpm,跳过保存" - fi + echo "⚠️ 无法找到pnpm,跳过保存" fi fi