diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 9698411..b2e7ce7 100755 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -60,10 +60,41 @@ jobs: build: runs-on: windows-latest needs: build-libcore + # 新增:设置 job 级 PATH,让所有 steps 都能访问 Node.js + env: + PATH: ${{ github.workspace }}\node;${{ env.PATH }} steps: + # 新增:引导步骤,下载并设置 Node.js(便携版,无需全局安装) + - name: 🔧 Setup Node.js + shell: pwsh + run: | + $nodeVersion = "22.9.0" # 可调整为其他 LTS 版本,如 "20.17.0" + $zipUrl = "https://nodejs.org/dist/v${nodeVersion}/node-v${nodeVersion}-win-x64.zip" + $zipPath = Join-Path $env:GITHUB_WORKSPACE "node.zip" + $nodeDir = Join-Path $env:GITHUB_WORKSPACE "node" + + # 创建目录 + New-Item -ItemType Directory -Force -Path $nodeDir | Out-Null + + # 下载 ZIP + Write-Host "Downloading Node.js from $zipUrl" + Invoke-WebRequest -Uri $zipUrl -OutFile $zipPath + + # 解压 + Expand-Archive -Path $zipPath -DestinationPath $nodeDir -Force + Remove-Item $zipPath + + # 验证(此时 PATH 已包含 $nodeDir,所以能直接调用) + Write-Host "Node.js version: $(& "$nodeDir\node.exe" --version)" + Write-Host "npm version: $(& "$nodeDir\npm.cmd" --version)" + Write-Host "Node.js installed to: $nodeDir" + - name: 📥 Checkout 代码 uses: actions/checkout@v4 + with: + submodules: recursive + fetch-depth: 0 - name: 📥 下载 libcore uses: actions/download-artifact@v4