请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

go mod init怎么成功的?

图片描述
图片描述
图片描述
我按照你说的,再进入到resk目录下:
图片描述
我是基于那门免费课过来的,我按照你那课一步步过来,我就不明白,你这go mod init是怎么成功的?工作空间设置,还是按照免费课?你那免费搭建也才用了5分钟,这项目,从0开始搭建,或者基于那们免费课来升级成mod 管理 不更好些?没接触过go mod 的一堆坑。GOPATH模式和go mod 模式的区别,老师你也是没进行介绍区分吧

正在回答

4回答

您好!使用

go mod init

首先要做的是把go项目空间从GOPATH中移除,这些内容在《3-4 Go module模块化管理代码依赖 》 一节,第3分05秒钟开始有特别的介绍和说明:

https://img1.sycdn.imooc.com//szimg/5cdd84fd0001b0fa22141162.jpg

并在第12分10秒钟的地方有resk项目的go module化的介绍,同学可以再返回到这个地方学习一下:

https://img1.sycdn.imooc.com//szimg/5cdd84a500010f7b22761252.jpg

https://img1.sycdn.imooc.com//szimg/5cdd84e400013c2320361056.jpg

感谢同学的支持!

0 回复 有任何疑惑可以回复我~
  • 提问者 Echo鑫 #1
    那为什么要移除工作空间,而不是开启go111module 为on ?
    回复 有任何疑惑可以回复我~ 2019-05-17 08:36:06
  • 枫荇 回复 提问者 Echo鑫 #2
    用默认的行为会减少很多不必要的麻烦,比如在实际工作中,可能包含go mod项目和非go mod项目,而非go mod项目因为各种实际原因也不能马上转换为go mod项目,如果全局设置go111module 为on ,显然不好!如果每一个工程独立设置,就比较麻烦,有时候很容易忘记,实际开发中需要设置的环境变量本身就很多了,环境变量设置的太多也就搞混,能少一个就少一个。尽量通过一些默认行为和约定俗成来规范,但也不能就说那种方法更好那种更优秀,只是不同人对这些事情的理解和平衡而已。课程中的讲解也不代表就必须要这么做,只是讲解了一种解决问题的思路和方法,当然了go111module 为on是另一种方法。
    回复 有任何疑惑可以回复我~ 2019-05-18 13:17:25
  • 提问者 Echo鑫 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-05-18 16:26:08
枫荇 2019-05-17 08:23:13

@鑫同学 检查一下,把resk项目移动到resk-projects项目空间外部试试呢?

0 回复 有任何疑惑可以回复我~
  • 提问者 Echo鑫 #1
    我取消了工作空间的gopath,首先一点,goland会报红,引入不到项目中的其他包?另外,为什么不设置go111为on呢?不是说开启就忽略gopath嘛?
    回复 有任何疑惑可以回复我~ 2019-05-17 08:37:48
  • 提问者 Echo鑫 #2
    并且老师你的go mod init imooc.com/resk 假若不包含包路径的话,默认是github的路径,标记包路径作用是什么?
    回复 有任何疑惑可以回复我~ 2019-05-17 08:49:21
  • 枫荇 回复 提问者 Echo鑫 #3
    如果再module名称中不包含imooc.com,那么包引入的时候也要按照module名称来引入,如果放到github上,其他通过github.com下载下来,就不能正常工作了,在包引入上就很折腾了。
    如果把imooc.com/resk 改成 github.com/resk 默认对应github上的用户(或组织)命名空间,如果要很方便的使用github来管理和下载包,那么module名称的格式就要修改一下:github.com/你的用户名称(或组织名称)/resk,resk是你在github上的一个代码仓库,这样就可以通过go
     get github.com/你的用户名称(或组织名称)/resk 来下载,并且在源码中引入是也要使用github.com/你的用户名称(或组织名称)/resk...;
    module名称的设计上,要包含引入的前缀路径和项目名称组成。
    回复 有任何疑惑可以回复我~ 2019-05-18 13:11:14
枫荇 2019-05-16 23:46:53

把go项目空间从GOPATH中移除有2中方法:

  1. 在系统环境变量中把设置的当前工作空间目录从GOPATH变量中移除,需要注意的是IDE中会有单独的配置,也要移除。

  2. 直接把项目目录移动到项目空间外面的任何目录,课程中演示的就是直接把项目目录从项目空间中移动到了外部

0 回复 有任何疑惑可以回复我~
提问者 Echo鑫 2019-05-16 21:01:25

老师已经做了修改,没遇到这问题的就忽略吧。遇到问题的,看我下一个提问吧。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信