为了账号安全,请及时绑定邮箱和手机立即绑定

Github 操作 go test 找不到包错误。我怎样才能解决这个问题?

Github 操作 go test 找不到包错误。我怎样才能解决这个问题?

Go
缥缈止盈 2022-06-13 10:39:16
我有一个简单的 go 包,但是在 Github Actions 中进行测试期间,它因以下错误而失败:##[error]keywords.go:8:2: cannot find package "github.com/securisec/go-keywords/languages" in any of:.当我在本地运行测试时(我使用的是 go mod),所有测试都运行良好。对于 Github 操作,我尝试将GO111MODULE两者都设置为on和off,但仍然遇到相同的错误。可以在此处观察到错误。我的测试工作流程是:name: testson:  - push  - pull_requestjobs:  test:    name: Test package    strategy:      max-parallel: 3      fail-fast: false      matrix:        os:          - ubuntu-latest        go:          - "1.11"          - "1.13"          - "1.14"    runs-on: ${{ matrix.os }}    steps:      - name: Checkout        uses: actions/checkout@v2        env:          GOPATH: ${{ runner.workspace }}          GO111MODULE: "on"      - name: Go setup        uses: actions/setup-go@v1.0.0        with:          go-version: ${{matrix.go}}        env:          GOPATH: ${{ runner.workspace }}          GO111MODULE: "on"      - name: Run test        env:          GOPATH: ${{ runner.workspace }}          GO111MODULE: "on"        run: |          go get -u github.com/grokify/html-strip-tags-go          go test ./...      - if: failure()        run: ls -R去模组文件:module github.com/securisec/go-keywordsgo 1.14require github.com/grokify/html-strip-tags-go v0.0.0-20200322061010-ea0c1cf2f119我该如何解决这个错误?
查看完整描述

1 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

因此,如果您查看完整的错误消息:


##[error]keywords.go:8:2: cannot find package "github.com/securisec/go-keywords/languages" in any of:

    /opt/hostedtoolcache/go/1.10.0/x64/src/github.com/securisec/go-keywords/languages (from $GOROOT)

    /home/runner/work/go-keywords/src/github.com/securisec/go-keywords/languages (from $GOPATH)

##[error]Process completed with exit code 1.

您会注意到您正在尝试在 Go 1.10 中运行代码。Go 模块是在 Go 1.11 中引入的,所以它总是会抱怨应用程序没有安装依赖项。


然后,如果您查看 Go 设置日志:


Go setup

    GO111MODULE: on

##[warning]Unexpected input 'go-version', valid inputs are ['version']

Run actions/setup-go@v1.0.0

  with:

    go-version: 1.11

    version: 1.10

  env:

    GOPATH: /home/runner/work/go-keywords

    GO111MODULE: on

/bin/tar xzC /home/runner/work/_temp/0ce9b622-d798-400e-b86a-42d36359ad78 -f /home/runner/work/_temp/80f228cc-4b21-427f-b111-d9f296ed4990

您会看到安装程序发出警告并默认为您安装 go 1.10。


那是因为您已针对不了解 go-version 标志的特定版本 v1.0.0。(我认为它是在 v1.1.0 中添加的)


解决方案:


更改uses: actions/setup-go@v1.0.0以uses: actions/setup-go@v1获取最新的 v1 版本。


甚至更好地使用 v2。


查看完整回答
反对 回复 2022-06-13
  • 1 回答
  • 0 关注
  • 224 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信