You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions构建失败:RubyGem路径写入权限错误求助

解决GitHub Actions构建Android项目时Bundler权限错误

问题原因

构建过程中尝试向系统级gem目录/var/lib/gems/3.0.0/cache写入bundler包时,没有足够的权限,导致安装失败。

解决方案

1. 使用sudo执行gem安装命令

在GitHub Actions的workflow文件中,给安装bundler的命令添加sudo,获取系统级写入权限:

- name: Install bundler
  run: sudo gem install bundler:2.2.29

2. 安装到用户级目录(推荐)

避开系统目录,将bundler安装到用户专属目录,无需sudo权限:

- name: Install bundler to user directory
  run: gem install bundler:2.2.29 --user-install
- name: Add user gem bin to PATH
  run: echo "PATH=$HOME/.gem/ruby/3.0.0/bin:$PATH" >> $GITHUB_ENV

3. 使用Ruby版本管理器(rbenv)

通过rbenv管理Ruby环境,gem会安装到用户可控的目录,彻底规避系统权限问题:

- name: Set up rbenv
  run: |
    git clone https://github.com/rbenv/rbenv.git ~/.rbenv
    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> $GITHUB_ENV
    echo 'eval "$(rbenv init -)"' >> $GITHUB_ENV
- name: Install Ruby 3.0.0
  run: |
    rbenv install 3.0.0
    rbenv global 3.0.0
- name: Install bundler
  run: gem install bundler:2.2.29

4. 指定旧版本runner镜像

如果是GitHub Actions runner镜像更新导致权限变化,可以指定使用稳定的旧版本镜像(比如ubuntu-20.04):

jobs:
  build:
    runs-on: ubuntu-20.04 # 替换原ubuntu-latest
    steps:
      # 后续构建步骤...

内容的提问来源于stack exchange,提问作者Yupi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 18:35:13