mirror of
https://git.bjxgj.com/xgj/xgj-actions.git
synced 2025-10-14 03:53:37 +08:00
Compare commits
2 Commits
d35b42c064
...
2fe7c6809c
Author | SHA1 | Date | |
---|---|---|---|
![]() |
2fe7c6809c | ||
![]() |
06298f9e15 |
@@ -217,16 +217,13 @@ runs:
|
||||
# node_modules 模式:不要回退到 cache-path(那是 node_modules 目录),而是使用 RUNNER_TEMP/HOME
|
||||
export PNPM_STORE_DIR="${PNPM_STORE_DIR:-${RUNNER_TEMP:-$HOME}/.pnpm-store}"
|
||||
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 config get store-dir || echo '<unknown>')"
|
||||
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
|
||||
echo "🔧 使用自定义安装命令: ${{ inputs.install-command }}"
|
||||
@@ -283,6 +280,16 @@ runs:
|
||||
;;
|
||||
esac
|
||||
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 "✅ 依赖安装完成"
|
||||
|
||||
@@ -305,3 +312,22 @@ runs:
|
||||
echo " - 强制安装: ${{ inputs.force-install }}"
|
||||
echo " - Git Stash: ${{ inputs.enable-git-stash }}"
|
||||
fi
|
||||
# 诊断工作目录是否存在 .pnpm-store 以及其 Git 状态
|
||||
echo "\n🧪 目录状态自检:"
|
||||
echo " - PNPM_STORE_DIR: ${PNPM_STORE_DIR:-<unset>}"
|
||||
if [[ -d ".pnpm-store" ]]; then
|
||||
echo " - 工作目录存在 .pnpm-store 目录"
|
||||
if git rev-parse --git-dir >/dev/null 2>&1; then
|
||||
if git ls-files --error-unmatch .pnpm-store >/dev/null 2>&1; then
|
||||
echo " - Git 状态: 已被跟踪 (tracked)"
|
||||
elif git check-ignore -q .pnpm-store; then
|
||||
echo " - Git 状态: 被忽略 (ignored)"
|
||||
else
|
||||
echo " - Git 状态: 未跟踪 (untracked)"
|
||||
fi
|
||||
else
|
||||
echo " - Git 仓库: 未检测到 (非 Git 工作目录)"
|
||||
fi
|
||||
else
|
||||
echo " - 工作目录未发现 .pnpm-store 目录 ✅"
|
||||
fi
|
||||
|
Reference in New Issue
Block a user