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

自建Forgejo实例使用actions/checkout@v4时出现目录错误求助

解决自建Forgejo Actions中checkout步骤的"not a directory"错误

问题根源

该错误源于Forgejo Actions缓存目录权限异常,或是底层运行工具act拉取actions-checkout@v4时未正确创建目录,导致缓存路径无法识别为目录。

修复步骤

1. 修复缓存目录权限

登录Forgejo服务器,定位缓存目录/data/.cache/act/,确保运行Forgejo的用户(通常为forgejo或git)拥有读写权限:

sudo chown -R forgejo:forgejo /data/.cache/act/
sudo chmod -R 755 /data/.cache/act/

2. 重建缓存目录

若权限无问题,大概率是缓存损坏,直接删除原有缓存目录后重建:

sudo rm -rf /data/.cache/act/
sudo mkdir -p /data/.cache/act/
sudo chown -R forgejo:forgejo /data/.cache/act/

3. 校验Forgejo Actions配置

打开app.ini配置文件,确认Actions缓存相关配置指向有效且可写的目录:

[actions]
ENABLED = true
RUNNER_CACHE_DIR = /data/.cache/act/

修改完成后重启Forgejo服务:

sudo systemctl restart forgejo

4. 修正workflow的checkout配置

确保你的action.yml中checkout步骤使用标准语法,避免自定义路径或错误缓存配置:

steps:
  - name: Checkout code
    uses: actions/checkout@v4

也可替换为Forgejo官方托管的checkout动作:

steps:
  - name: Checkout code
    uses: https://code.forgejo.org/actions/checkout@v4

5. 重启自托管运行器

若使用自托管运行器,确认运行器已正确注册,同时重启运行器服务:

sudo systemctl restart forgejo-runner

内容的提问来源于stack exchange,提问作者Neel Mani Upadhyay

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 12:32:32