[英]Github actions, problem with dep installing
我有这个 go.yml 用于 github 动作
name: Test
on: [push, pull_request]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.15
uses: actions/setup-go@v2
with:
go-version: 1.15
id: go
- name: Check out code
uses: actions/checkout@v2
- name: Get dependencies
run: |
if [ -f Gopkg.toml ]; then
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
dep ensure
fi
- name: Build
run: go build -v ./...
- name: Test
run: go test -v ./...
它构建时出现错误:home/runner/work/project/project 不在已知的 GOPATH/src 中错误:进程已完成,退出代码为 1。
如何解决它的问题?
GOPATH
的默认值为$HOME/go
。
您的项目文件夹位于此GOPATH
之外,因此出现错误。
您有两种方法可以解决此问题。
GOPATH
中。 假设您使用的是高于 1.12 的 Go 版本,请删除Gopkg.toml
和Gopkg.lock
(如果有的话)。
跑,
一个。 go mod init <project-name>
将<project-name>
name> 替换为您的项目名称。
湾。 运行go mod tidy
它将添加您在项目中使用的所有依赖项。
c。 运行go build
一次,以确保您的项目仍然可以构建。 如果没有,您可以在go.mod
中手动添加缺少的依赖项。
提交go.mod
和go.sum
(如果您需要确定性构建)。
从您的 CI 配置中删除它,
if [ -f Gopkg.toml ]; then
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
dep ensure
fi
并构建项目。 它应该工作。
dep ensure
之前,在 CI 配置中正确设置GOPATH
。 我认为GOPATH=/home/runner/work/project/project
应该可以工作,但我不知道与GOPATH
相关的确切细节,所以你只需要尝试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.