设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 手机 数据 公司
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

如何用GVM管理Go项目(2)

发布时间:2019-10-11 21:43 所属栏目:117 来源:Chris Collins
导读:当 GVM 被告知使用新版本时,它会更改为新的 $GOPATH ,默认 gloabl pkgset 应用于该版本: [chris@marvin]$ echo $GOPATH /home/chris/.gvm/pkgsets/go1.12.9/global [chris@marvin]$ gvm pkgset list gvm go packa

当 GVM 被告知使用新版本时,它会更改为新的 $GOPATH,默认 gloabl pkgset 应用于该版本:

  1. [chris@marvin]$ echo $GOPATH
  2. /home/chris/.gvm/pkgsets/go1.12.9/global
  3.  
  4. [chris@marvin]$ gvm pkgset list
  5.  
  6. gvm go package sets (go1.12.9)
  7.  
  8. =>  global

尽管默认情况下没有安装额外的包,但是全局 pkgset 中的包对于使用该特定版本的 Go 的任何项目都是可用的。

现在,假设你正在启用一个新项目,它需要一个特定的包。首先,使用 GVM 创建一个新的 pkgset,名为 introToGvm:

  1. [chris@marvin]$ gvm pkgset create introToGvm
  2.  
  3. [chris@marvin]$ gvm pkgset use introToGvm
  4. Now using version go1.12.9@introToGvm
  5.  
  6. [chris@marvin]$ gvm pkgset list
  7.  
  8. gvm go package sets (go1.12.9)
  9.  
  10.     global
  11. =>  introToGvm

如上所述,pkgset 的一个新目录被添加到 $GOPATH

  1. [chris@marvin]$ echo $GOPATH
  2. /home/chris/.gvm/pkgsets/go1.12.9/introToGvm:/home/chris/.gvm/pkgsets/go1.12.9/global

将目录更改为预先设置的 introToGvm 路径,检查目录结构,这里使用 awkbash 完成。

  1. [chris@marvin]$ cd $( awk -F':' '{print $1}' <<< $GOPATH )
  2. [chris@marvin]$ pwd
  3. /home/chris/.gvm/pkgsets/go1.12.9/introToGvm
  4.  
  5. [chris@marvin]$ ls
  6. overlay pkg src

请注意,新目录看起来很像普通的 $GOPATH。新的 Go 包使用同样的 go get 命令下载并正常使用,且添加到 pkgset 中。

例如,使用以下命令获取 gorilla/mux 包,然后检查 pkgset 的目录结构:

  1. [chris@marvin]$ go get github.com/gorilla/mux
  2. [chris@marvin]$ tree
  3. [chris@marvin introToGvm ]$ tree
  4. .
  5. ├── overlay
  6. │ ├── bin
  7. │ └── lib
  8. │ └── pkgconfig
  9. ├── pkg
  10. │ └── linux_amd64
  11. │ └── github.com
  12. │ └── gorilla
  13. │ └── mux.a
  14. src/
  15. └── github.com
  16. └── gorilla
  17. └── mux
  18. ├── AUTHORS
  19. ├── bench_test.go
  20. ├── context.go
  21. ├── context_test.go
  22. ├── doc.go
  23. ├── example_authentication_middleware_test.go
  24. ├── example_cors_method_middleware_test.go
  25. ├── example_route_test.go
  26. ├── go.mod
  27. ├── LICENSE
  28. ├── middleware.go
  29. ├── middleware_test.go
  30. ├── mux.go
  31. ├── mux_test.go
  32. ├── old_test.go
  33. ├── README.md
  34. ├── regexp.go
  35. ├── route.go
  36. └── test_helpers.go

如你所见,gorilla/mux 已按预期添加到 pkgset $GOPATH 目录中,现在可用于使用此 pkgset 项目了。

GVM 让 Go 管理变得轻而易举

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读