在Circle Ci Golang上导入包时出现问题

时间:2018-01-04 09:58:02

标签: go continuous-integration circleci circleci-2.0

我正在使用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有这个问题?

1 个答案:

答案 0 :(得分: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

  

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