Go module 本地导包方式

tip本文只讲关于Go module 本地导包方式,其余请自行查阅git

Go module 导包方式,go mod init project-name,会获得一个go.mod文件,此文件是管理依赖的,一般会从github或其余代理拉取代码库。github

module package-name

go 1.xx //go version

require(
     github.com/repo1/package1 v0.0.0 // 远程代码库url + 版本号 严格规范 vx.x.x

)

replace (
      //通常替换被墙的url
      newUrl => oldUrl
      //也能够本地导包时使用
      package-name => 本地包的绝对路径或相对路径 
      //goland下本地导包直接配置此项,在Synchronous dependency,go.mod会自动生成一个url+版本+哈希,而后正常跑代      
      //码。 go run 或者 go build 也能够 go mod vendor 将依赖放到一个可管理的 '项目/vendor' 文件夹

)

goland下本地导包直接配置replace,不要配置require(远程拉取除外),在智能提示点击Synchronous dependency,go.mod会同步依赖并自动生成一个url+版本+哈希,而后正常跑代码。 go run 或者 go build 也能够 go mod vendor 将依赖放到一个可管理的 '项目/vendor' 文件夹

若是go.mod本地导包出现xxx@v0.0.0: malformed module path "xxx": missing dot in first path element,查看go.mod是否在require配置了xxx路径,删掉,而后go run 自动生成一个url就不会报错了。

相关文章
相关标签/搜索