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

`go build -mod vendor` 无法使用 vendored 包

`go build -mod vendor` 无法使用 vendored 包

Go
BIG阳 2023-06-19 15:43:06
将我的 Go 服务部署到 Google AppEngine(标准)时,我收到一条错误,描述未找到模块版本,但一切编译正常。这些模块位于私有 Github 实例上并签出到vendor/.Ago build -mod vendor -o /dev/null ./...在 cloud-build-local、本地和 Google Cloud Build 中工作。github.com/company/gosystem 上存在一个名为“v1.1.0”的标签:gosystem$ git tagv0.0.1v0.0.2v0.0.3v1.0.0v1.1.0Failed to build app: [go build -o /tmp/staging172777881/usr/local/bin/start .] with env [PATH=/go/bin:/usr/local/go/bin:/builder/google-cloud-sdk/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOSTNAME=f3f56ce621f0 HOME=/builder/home BUILDER_OUTPUT=/builder/outputs DEBIAN_FRONTEND=noninteractive GOROOT=/usr/local/go/ GOPATH=/go GO111MODULE=on GOCACHE=/tmp/cache019702820 GOPATH=/go] failed: err=exit status 1, out="go: finding github.com/pquerna/otp v1.1.0go: finding github.com/gin-gonic/gin v1.4.0go: finding github.com/pkg/errors v0.8.1go: finding github.com/rainycape/unidecode v0.0.0-20150907023854-cb7f23ec59bego: finding github.com/gosimple/slug v1.5.0go: finding github.com/boombuler/barcode v1.0.0go: finding github.com/company/gosystem v1.1.0go: finding github.com/oblq/i18n v0.0.0-20181031085821-98eec2978e00go: finding github.com/go-pg/pg v8.0.4+incompatiblego: finding golang.org/x/text v0.3.2go: finding github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1ddgo: finding github.com/modern-go/reflect2 v1.0.1go: finding github.com/golang/protobuf v1.3.1go: finding github.com/stretchr/testify v1.3.0go: finding github.com/ugorji/go/codec v0.0.0-20190204201341-e444a5086c43go: finding github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3go: finding github.com/mattn/go-isatty v0.0.7go: github.com/company/gosystem@v1.1.0: unknown revision v1.1.0Agrep -RI 'gosystem@' *什么也没报告。
查看完整描述

2 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

最后,我能够通过强制使用 go 来完成这项工作vendor,方法是将其添加到go.mod

replace github.com/company/gosystem => ./vendor/github.com/company/gosystem


查看完整回答
反对 回复 2023-06-19
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

Go 使用 https 来获取版本/依赖项。即使你使用 vendor,Go 也会验证版本。由于github.com/venclave/gosystem是私人仓库,git 无法访问它。

几乎没有解决方法。

1 - 使用 ssh:

git config --global url.ssh://git@github.com/venclave.insteadOf https://github.com/venclave

2 - 使用 GitHub 令牌:

在此处生成 GITHUB_TOKEN https://github.com/settings/tokens

export GITHUB_TOKEN=xxx
git config --global url."https://${GITHUB_TOKEN}:x-oauth-basic@github.com/venclave".insteadOf "https://github.com/venclave"



查看完整回答
反对 回复 2023-06-19
  • 2 回答
  • 0 关注
  • 127 浏览
慕课专栏
更多

添加回答

举报

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