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 # 安装项目依赖