簡體   English   中英

GitHub 操作工作流程錯誤:權限被拒絕

[英]GitHub Actions workflow error: Permission denied

我正在運行 GitHub 操作工作流,但由於以下錯誤而失敗。

Unhandled exception:
FileSystemException: Cannot create file, path = '/github/home/.flutter' (OS Error: Permission denied, errno = 13)

我查看了 GitHub Actions 的工作流語法,但找不到任何說明來解決這個問題。

我的構建文件如下所示:

name: Flutter CI

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    container:
      image:  cirrusci/flutter:v1.7.8-hotfix.4

    steps:
    - uses: actions/checkout@v1
    - name: Install dependencies
      run: flutter pub get
      working-directory: my_app
    - name: Run tests
      run: flutter test

終於有時間查看它並添加sudo解決了它。

該圖像與用戶cirrus一起運行。 還需要提供完整路徑:

sudo /home/cirrus/sdks/flutter/bin/flutter pub get

來自GitHub docs

Linux和macOS虛擬機均使用無密碼sudo運行。 當您需要執行命令或安裝需要比當前用戶更多特權的工具時,可以使用sudo而不需要提供密碼。

除了將 sudo 添加到所有失敗的步驟之外,您還可以只修改容器配置:

container:
  image:  cirrusci/flutter:v1.7.8-hotfix.4
  options: --user root

說明:該問題是由於 cirrusci/flutter:v1.7.8-hotfix.4 映像上的默認用戶無權訪問由 github 掛載到此 docker 映像中的某些目錄而引起的。 包括給您帶來麻煩的/github目錄。 添加options: --user root user options: --user root到容器配置可確保默認用戶成為 root,這樣您就無需在每一步都執行 sudo。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM