From b5be53605a74249e6ddb0557774a18e1c220119e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E5=85=AC=E4=BC=97=E5=8F=B7=EF=BC=9A?= =?UTF-8?q?=E5=82=A8=E5=87=A1?= <77527113+chufan443@users.noreply.github.com> Date: Sat, 28 Oct 2023 15:58:39 +0800 Subject: [PATCH] =?UTF-8?q?fix(CI):=20=E4=BF=AE=E5=A4=8D=E9=95=9C=E5=83=8F?= =?UTF-8?q?=E6=9E=84=E5=BB=BA=E6=97=B6ci=E7=89=88=E6=9C=AC=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/ci | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/scripts/ci b/scripts/ci index b2f89cb..3191335 100755 --- a/scripts/ci +++ b/scripts/ci @@ -1,29 +1,38 @@ #!/bin/bash +## +## 依赖安装脚本 +## 使用: +## ./scripts/ci +## # 期望的 pnpm 大版本号 majorVersionRequired="8" # 检测 pnpm 是否已安装并且大版本号符合要求 -checkPNPM() { - 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 +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 checkPNPM; then - echo "无需安装 pnpm@@$majorVersionRequired" +## 判断是PNPM安装且版本符合要求 +if command -v pnpm &> /dev/null && checkPNPMVersion; then + echo "无需安装 pnpm@@$majorVersionRequired" else - echo "安装 pnpm@$majorVersionRequired..." - npm i pnpm@$majorVersionRequired -g + echo "安装 pnpm@$majorVersionRequired..." + installRequiredPNPM; fi # 安装项目依赖