问题在圈河Golang导入包

问题描述 投票:0回答:1

我正在使用Circle CI来测试我的项目。该项目是一个简单的Go应用程序,由几个包和一个main.go文件组成。在我的项目中引用包时,我只需在代码中将它们作为“projectName / packageName”导入。这在本地工作正常,但是,当我推送到git并且它在Circle CI上构建时,我得到以下错误。

package crypto-compare-go / handlers:无法识别的导入路径“crypto-compare-go / handlers”(导入路径不以hostname开头)

我通过将github.com/myGitUsername/projectName预先添加到我的本地包导入来修复此问题,这意味着当我在本地开发时如果我更改了我的项目中的一个包,我必须推送到git,然后拉到能够使用它们即使它们都在同一个父项目文件夹下。这似乎是一个缓慢,非常低效的过程。

以前有没有人对Circle CI有这个问题?

go continuous-integration circleci circleci-2.0
1个回答
1
投票

我通过将github.com/myGitUsername/projectName预先添加到我的本地包导入来修复此问题,这意味着当我在本地开发时如果我更改了我的项目中的一个包,我必须推送到git,然后拉到能够使用它们即使它们都在同一个父项目文件夹下。这似乎是一个缓慢,非常低效的过程。

不。你弄错了。你的go将使用当地的$GOPATH/src/github.com/myGitUsername/projectName目录进行编译。只有在运行go get -u <package path>时才能访问github.com。它记录在How to Write Go Code中。

请注意,在构建代码之前,无需将代码发布到远程存储库。组织代码只是一个好习惯,好像有一天你会发布它一样。实际上,您可以选择任意路径名称,只要它对标准库和更大的Go生态系统是唯一的。

© www.soinside.com 2019 - 2024. All rights reserved.