如何在GitHub Action Windows环境通过Choco安装Snappy?
在GitHub Action Windows环境安装Snappy压缩库的解决方案
你之前安装的snappy-driver-installer-origin是硬件驱动安装工具,和你需要的Google Snappy压缩库完全无关,这就是它无效的原因。下面提供几种可行的方案在GitHub Action的Windows环境安装Snappy:
方案1:使用vcpkg安装(推荐)
vcpkg是微软的C/C++包管理器,支持Windows平台安装Snappy,且能自动处理依赖和环境变量配置。
修改你的GitHub Action配置如下:
jobs: build: runs-on: windows-latest steps: - uses: actions/checkout@v4 - name: Install zstd run: choco install -y zstandard - name: Set up vcpkg uses: lukka/run-vcpkg@v11 with: vcpkgArguments: snappy vcpkgTriplet: x64-windows # 根据你的架构选择,比如x86-windows vcpkgDirectory: ${{ runner.workspace }}/vcpkg # 为构建工具添加Snappy的可执行文件路径 - name: Add Snappy to PATH run: | echo "${{ runner.workspace }}/vcpkg/installed/x64-windows/bin" | Out-File -FilePath $env:GITHUB_PATH -Append
方案2:手动下载预编译二进制
如果不想用vcpkg,可以直接下载Snappy的预编译二进制包,解压后配置环境变量:
jobs: build: runs-on: windows-latest steps: - uses: actions/checkout@v4 - name: Install zstd run: choco install -y zstandard - name: Download and extract Snappy run: | Invoke-WebRequest -Uri "https://github.com/google/snappy/releases/download/1.1.10/snappy-1.1.10-windows-x64.zip" -OutFile snappy.zip Expand-Archive -Path snappy.zip -DestinationPath ./snappy echo "$(Get-Location)/snappy/bin" | Out-File -FilePath $env:GITHUB_PATH -Append # 可选:设置头文件和库路径供构建工具调用 - name: Set Snappy include/lib paths run: | echo "SNAPPY_INCLUDE=$(Get-Location)/snappy/include" | Out-File -FilePath $env:GITHUB_ENV -Append echo "SNAPPY_LIB=$(Get-Location)/snappy/lib" | Out-File -FilePath $env:GITHUB_ENV -Append
方案3:从源码编译
如果需要特定版本或自定义编译选项,可以从源码编译:
jobs: build: runs-on: windows-latest steps: - uses: actions/checkout@v4 - name: Install dependencies (CMake, zstd) run: | choco install -y zstandard cmake ninja - name: Clone Snappy source run: git clone https://github.com/google/snappy.git - name: Build Snappy run: | mkdir snappy/build cd snappy/build cmake .. -G Ninja -DCMAKE_INSTALL_PREFIX=../install -DBUILD_SHARED_LIBS=ON ninja install - name: Add Snappy to PATH run: | echo "$(Get-Location)/snappy/install/bin" | Out-File -FilePath $env:GITHUB_PATH -Append
注意:根据你的项目架构(x86/x64)和构建需求(静态库/动态库),调整上述配置中的参数。
内容的提问来源于stack exchange,提问作者1412
相关产品推荐
相关产品推荐

