1
0
mirror of https://github.com/142vip/408CSFamily.git synced 2026-02-03 10:33:47 +08:00
Files
408CSFamily/scripts/ci

44 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
##
## 依赖安装脚本
## 使用:
## ./scripts/ci
##
# 期望的 pnpm 大版本号
majorVersionRequired=$(grep -o '"pnpm": *"[^"]*"' package.json | awk -F'"' '{print $4}')
echo "期望的 pnpm 大版本号:$majorVersionRequired"
# 检测 pnpm 是否已安装并且大版本号符合要求
checkPNPMVersion() {
local pnpmVersionInstalled=$(pnpm --version 2>/dev/null) # 获取已安装的 pnpm 版本
if [[ $pnpmVersionInstalled =~ ^$majorVersionRequired ]]; then
echo "已安装的 pnpm 版本:$pnpmVersionInstalled"
echo "已安装的 pnpm 大版本号符合要求."
return 0
else
echo "未安装 pnpm 或 pnpm 大版本号不符合要求."
return 1
fi
}
# 安装pnpm
installRequiredPNPM(){
npm i pnpm@$majorVersionRequired -g
}
## 判断是PNPM安装且版本符合要求
if command -v pnpm &> /dev/null && checkPNPMVersion; then
echo "无需安装 pnpm@@$majorVersionRequired"
else
echo "安装 pnpm@$majorVersionRequired..."
installRequiredPNPM;
fi
# 安装项目依赖
pnpm i --frozen-lockfile --registry https://registry.npmmirror.com