golangci-lint 的 GitHub 操作失败,无法加载 fmt

我正在使用 GitHub 操作https://github.com/golangci/golangci-lint-action

我收到错误:


Installed golangci-lint into /home/runner/golangci-lint-1.43.0-linux-amd64/golangci-lint in 458ms

Prepared env in 606ms


run golangci-lint

  Running [/home/runner/golangci-lint-1.43.0-linux-amd64/golangci-lint run --out-format=github-actions] in [] ...

  panic: load embedded ruleguard rules: rules/rules.go:13: can't load fmt

  

  goroutine 1 [running]:

  github.com/go-critic/go-critic/checkers.init.9()

    github.com/go-critic/go-critic@v0.6.1/checkers/checkers.go:58 +0x4b4

  

  Error: golangci-lint exit with code 2

  Ran golangci-lint in 13383ms

这是golangci-lintgolang v1.18.0的一个已知问题https://github.com/golangci/golangci-lint/issues/2374

我的 GitHub 操作文件是:


name: golangci-lint

on:

  push:

    tags:

      - v*

    branches:

      - master

      - main

  pull_request:

permissions:

  contents: read

jobs:

  golangci:

    name: lint

    runs-on: ubuntu-latest

    steps:

      - uses: actions/setup-go@v2

      - uses: actions/checkout@v2

      - name: golangci-lint

        uses: golangci/golangci-lint-action@v2

        with:

          version: v1.43

我也尝试过使用:


name: golangci-lint

on:

  push:

    tags:

      - v*

    branches:

      - master

      - main

  pull_request:

permissions:

  contents: read

jobs:

  golangci:

    strategy:

      matrix:

        go-version: [1.17.x]

    name: lint

    runs-on: ubuntu-latest

    steps:

      - uses: actions/setup-go@v3

        with:

          go-version: ${{ matrix.go }}

      - uses: actions/checkout@v3

      - name: golangci-lint

        uses: golangci/golangci-lint-action@v2

        with:

          version: v1.43

但是两者都失败了,在那种情况下我该怎么办?


我已经在项目中打开这个问题,以防它有帮助https://github.com/golangci/golangci-lint-action/issues/442


杨魅力
浏览 190回答 4
4回答

梵蒂冈之花

问题 442由PR 275修复并提交 6ee1db2 (v1.4.1),基于评论:矩阵键似乎不匹配,更正可以解决问题吗?   strategy:      matrix:        go-version: [1.17.x]    name: lint    runs-on: ubuntu-latest    steps:      - uses: actions/setup-go@v3        with:          go-version: ${{ matrix.go-version }}Charlie Revett在issue 2374中提到的当前解决方法:go version go1.17.11 darwin/arm64从 Homebrew 中卸载所有版本的 Gogolangci-lint从 Homebrew卸载所有版本做一些目录清理使用find / -type d -name go 2> /dev/null做一些目录清理使用find / -type d -name "golangci-lint" 2> /dev/nullgo1.17.11.darwin-arm64.pkg使用安装go.dev/dl程序安装 ( .pkg)golangci-lint使用go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.46.2(当前最新版本)安装。请参阅“从源安装”

DIEA

将 golangci/golangci-lint-action、actions/setup-go 和 actions/checkout 升级到 v3 对我有用。

慕的地8271018

我在这里看到了同样的问题,发现在将 go 1.19 工具链与golangci-lint.如果我用 go 1.18 运行它,它工作正常。使用 go 1.19,它失败并出现与此处给出的错误相同的错误。

呼如林

在我的 MacOS 上,我简单地删除了所有以前的版本并通过以下命令安装了最新版本brew install golangci-lint
打开App,查看更多内容
随时随地看视频慕课网APP