【发布时间】:2018-01-04 09:58:01
【问题描述】:
我正在使用 Circle CI 来测试我的项目。该项目是一个简单的 Go 应用程序,由几个包和一个 main.go 文件组成。在我的项目中引用包时,我只需在代码中将它们作为“projectName/packageName”导入。这在本地可以正常工作,但是,当我推送到 git 并在 Circle CI 上构建时,我收到以下错误。
package crypto-compare-go/handlers: 无法识别的导入路径 “crypto-compare-go/handlers”(导入路径不以 主机名)
我通过将 github.com/myGitUsername/projectName 附加到我的本地包导入来解决此问题,这意味着当我在本地开发时如果我更改项目中的一个包,我必须推送到 git,然后拉即使它们都在同一个父项目文件夹下,也能够使用它们。这似乎是一个缓慢、非常低效的过程。
以前有人在使用 Circle CI 时遇到过这个问题吗?
【问题讨论】:
-
您的依赖项必须是可解析的。这意味着
go get必须工作,或者您可以使用供应商。真的没有第三种选择。 -
Go get 在本地对我来说工作正常,我原以为这些包都在同一个项目中,它会很好地解决它们。
-
我不确定你的意思是“在同一个项目中”。
go get没有“项目”的概念。当您尝试获取这些包时,您会遇到什么错误? -
你的本地文件系统应该匹配正确的 Go 导入路径。在本地正确设置它,您将能够在 CircleCI 和任何其他环境中执行相同的操作。
标签: go continuous-integration circleci circleci-2.0