问题在圈河Golang导入包
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了问题在圈河Golang导入包相关的知识,希望对你有一定的参考价值。
我正在使用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有这个问题?
我通过将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生态系统是唯一的。
以上是关于问题在圈河Golang导入包的主要内容,如果未能解决你的问题,请参考以下文章