GitHub静态网站相对路径下载Zip/Exe失败,LFS存储解决方案咨询
GitHub Pages 下载LFS存储文件的问题解决方案
问题本质
GitHub Pages不会自动解析Git LFS存储的大文件,当你用网站相对路径访问这些文件时,返回的是LFS的指针文件(就是那133字节的无效内容),而非实际的二进制文件。
可行解决方案
方案1:直接替换为LFS媒体链接
把下载链接换成https://media.githubusercontent.com/media/<用户名>/<仓库名>/<分支名>/<文件路径>格式(比如你提供的可用链接),这是最直接可靠的方式,虽然需要手动修改链接,但无需额外配置。方案2:将LFS文件转为普通Git存储(仅适合小文件)
如果文件体积在GitHub仓库限制内(单个文件≤100MB,仓库总容量≤1GB),可以把文件从LFS转存到普通Git:- 执行
git lfs pull拉取实际文件到本地 - 取消LFS跟踪:
git lfs untrack "assets/release/*.zip"(替换为你的文件路径) - 提交修改:
git add assets/release/*.zip,再执行git commit -m "Move LFS files to regular git" - 推送到仓库后,GitHub Pages就能正常返回实际文件,相对路径也能正常使用。
- 执行
方案3:用GitHub Actions自动同步LFS文件到Pages
通过Actions在部署Pages时自动拉取LFS文件,保持相对路径可用:- 在仓库根目录创建
.github/workflows/pages-deploy.yml文件 - 写入以下配置(根据你的仓库调整分支和目录):
name: Deploy Pages with LFS on: push: branches: [ main ] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: lfs: true # 拉取LFS文件 - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./ # 替换为你的静态文件根目录每次推送代码时,这个工作流会自动拉取LFS文件并部署到Pages,你的相对路径就能正常指向实际下载文件了。
- 在仓库根目录创建
内容的提问来源于stack exchange,提问作者Prateek Raj Gautam
相关产品推荐
相关产品推荐

