[英]Why does my GitHub Actions script cannot find my internal go package?
[英]Github actions go test cannot find package error. How can I fix this?
我有一個簡單的 go package,但是在 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: tests
on:
- push
- pull_request
jobs:
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
Go 模組文件:
module github.com/securisec/go-keywords
go 1.14
require github.com/grokify/html-strip-tags-go v0.0.0-20200322061010-ea0c1cf2f119
我該如何解決這個錯誤?
因此,如果您查看完整的錯誤消息:
##[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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.