mirror of
https://git.bjxgj.com/xgj/xgj-actions.git
synced 2025-10-14 14:23:37 +08:00
fix: 增强 pnpm store 路径配置以防止相对路径解析问题
This commit is contained in:
@@ -217,16 +217,13 @@ runs:
|
|||||||
# node_modules 模式:不要回退到 cache-path(那是 node_modules 目录),而是使用 RUNNER_TEMP/HOME
|
# node_modules 模式:不要回退到 cache-path(那是 node_modules 目录),而是使用 RUNNER_TEMP/HOME
|
||||||
export PNPM_STORE_DIR="${PNPM_STORE_DIR:-${RUNNER_TEMP:-$HOME}/.pnpm-store}"
|
export PNPM_STORE_DIR="${PNPM_STORE_DIR:-${RUNNER_TEMP:-$HOME}/.pnpm-store}"
|
||||||
fi
|
fi
|
||||||
|
# 通过多通道环境变量覆盖(兼容不同版本/解析顺序)
|
||||||
|
export npm_config_store_dir="${PNPM_STORE_DIR}"
|
||||||
|
export PNPM_CONFIG_STORE_DIR="${PNPM_STORE_DIR}"
|
||||||
echo "🧩 已设置 PNPM_STORE_DIR=${PNPM_STORE_DIR}"
|
echo "🧩 已设置 PNPM_STORE_DIR=${PNPM_STORE_DIR}"
|
||||||
|
echo "🔎 pnpm 配置: store-dir=$(pnpm config get store-dir || echo '<unknown>')"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 可选清理:如启用并发现项目根存在残留的 .pnpm-store,且与目标目录不同,则清理
|
|
||||||
if [[ "${{ inputs.package-manager }}" == "pnpm" && "${{ inputs.clean-project-store }}" == "true" ]]; then
|
|
||||||
if [[ -d ".pnpm-store" && "${PNPM_STORE_DIR}" != "$PWD/.pnpm-store" ]]; then
|
|
||||||
echo "🧹 清理项目根的残留 .pnpm-store(目标store为 ${PNPM_STORE_DIR})"
|
|
||||||
rm -rf .pnpm-store || true
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
# 如果提供了自定义安装命令,使用自定义命令
|
# 如果提供了自定义安装命令,使用自定义命令
|
||||||
if [[ -n "${{ inputs.install-command }}" ]]; then
|
if [[ -n "${{ inputs.install-command }}" ]]; then
|
||||||
echo "🔧 使用自定义安装命令: ${{ inputs.install-command }}"
|
echo "🔧 使用自定义安装命令: ${{ inputs.install-command }}"
|
||||||
@@ -284,6 +281,16 @@ runs:
|
|||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# 可选清理:如启用并发现项目根存在残留的 .pnpm-store,且与目标目录不同,则清理
|
||||||
|
if [[ "${{ inputs.package-manager }}" == "pnpm" && "${{ inputs.clean-project-store }}" == "true" ]]; then
|
||||||
|
# 进一步在项目级设置覆盖一次,杜绝 .npmrc 相对路径带来的影响(仅对本 CI 工作目录生效)
|
||||||
|
pnpm config set store-dir "${PNPM_STORE_DIR}" --location=project || true
|
||||||
|
if [[ -d ".pnpm-store" && "${PNPM_STORE_DIR}" != "$PWD/.pnpm-store" ]]; then
|
||||||
|
echo "🧹 清理项目根的残留 .pnpm-store(目标store为 ${PNPM_STORE_DIR})"
|
||||||
|
rm -rf .pnpm-store || true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
echo "✅ 依赖安装完成"
|
echo "✅ 依赖安装完成"
|
||||||
|
|
||||||
- name: 执行Git Stash
|
- name: 执行Git Stash
|
||||||
|
Reference in New Issue
Block a user