下面由golang教程栏目给大家介绍为什么不再建议使用GOPATH以及如何使用Go Modules,希望对需要的朋友有所帮助!

原因: 有了 Go Modules

历史:

一个环境变量,用于编译项目时,告诉GO去哪里读取源文件

  • 带来的限制规则:
    • 要求将项目写在GOPATH下
    • 需根据项目实际的URL路径创建目录,如github.com/foo/bar => $GOPATH/src/github.com/foo/bar
    • 没有内置的对扩展包的版本追踪

有了Go Modules之后

  • 一行命令迁移旧有项目
  • 只影响开发环境,不影响生产环境
  • 兼容GOPATH,依然可以依据个人喜好,在使用GOPATH

转向Go Modules

  • 版本要求 >=1.11

  • go mod init 命令初始化,如:

    mkdir myProject/cd myProjectgo mod init github.com/myGithubName/myProject
  • GOPATH项目迁移,如:

    mv ~/go/src/github.com/myGithubName/myProject ~/anywhere_else/cd ~/anywhere_else/myProjectgo mod init github.com/myGithubName/myProject

更多相关技术文章,请访问go语言栏目!

更多相关文章

  1. godoc命令不存在的解决方法
  2. 详细介绍XML在JAVA项目中的作用
  3. 利用xmllint命令处理xml
  4. maven项目不编译xml文件的解决办法
  5. 什么?你项目还在用Date表示时间?!
  6. 互联网开发十大顶级开源项目巡礼!
  7. 推荐几个炫酷的Python开源项目
  8. Spring Boot项目利用MyBatis Generator进行数据层代码自动生成
  9. 分布式事务 TCC-Transaction 源码分析 —— 项目实战

随机推荐

  1. mysql有时查询很慢的原因?
  2. MySQL 笔记(三)由 txt 文件导入数据
  3. MySQL 事务没有提交导致锁等待
  4. SQL Server基础知识之:设计和实现视图
  5. sql plus如何新建新用户
  6. mysql 配置 explicit_defaults_for_times
  7. 怎么用SQL语句实现表中的一个字段加1啊??
  8. mysql表名忽略大小写
  9. ySQL 4.*或5.0.*的升级指南
  10. 如果至少有一条记录的值为1,则返回“是”