使用nektos/act本地运行CodeQL init时出现Not Found错误求助
本地用nektos/act运行CodeQL工作流「Not Found」错误修复方案
核心排查方向及修复步骤
1. 修正CodeQL init步骤的Action引用路径
很多时候是因为init步骤没指定子action路径导致的。确保你的工作流里init步骤的uses字段指向正确的子目录:
- name: Initialize CodeQL uses: github/codeql-action/init@v2 with: languages: javascript # 替换为你的项目实际语言
注意:不能只写github/codeql-action@v2——克隆整个仓库没问题,但init是仓库内的子action,必须加上/init路径。
2. 清理act缓存,重新拉取完整的CodeQL Action
act的缓存可能存在不完整的情况,先清理缓存再重新运行:
act --clean
之后重新执行你的工作流命令,让act重新拉取完整的github/codeql-action@v2仓库内容。
3. 升级act到最新版本
旧版act对GitHub Actions的兼容性有限,容易出现路径解析问题。用你的包管理工具升级到最新稳定版:
# Homebrew用户 brew upgrade act # 其他安装方式请参考act官方文档更新
4. 验证languages参数的正确性
如果init步骤的languages参数拼写错误(比如把javascript写成js),或者指定了CodeQL不支持的语言,也会触发异常。确保参数值是CodeQL官方支持的类型,比如python、cpp、java等。
5. 手动指定CodeQL CLI路径(兜底方案)
如果以上方法都无效,可以手动下载CodeQL CLI并在init步骤中指定路径:
- name: Initialize CodeQL uses: github/codeql-action/init@v2 with: languages: javascript tools: /your/local/path/to/codeql # 替换为你本地CodeQL CLI的解压路径
错误日志排查提示
如果问题仍存在,重点看「Not Found」错误的具体指向:
- 若提示找不到脚本文件:说明codeql-action仓库拉取不完整,重复步骤2清理缓存重新拉取。
- 若提示找不到语言查询库:检查
languages参数是否正确,或确保本地网络能正常访问GitHub的查询库资源。
内容的提问来源于stack exchange,提问作者delucaezequiel
相关产品推荐
相关产品推荐

