纯新手,感觉GOPATH这个环境变量的设计真是奇葩!

根据官方文档和网络上大部分相互抄袭的技术博客来看,我自己写的项目HelloWorld要放在GOPATH的src目录下。

问题1:这样做是强制的吗?如果不这样做会有什么问题? 问题2:为什么不能像Node.JS一样,第三方包直接放在我的HelloWorld目录下?(每个项目可以使用同一个第三方包的不同版本) 问题3:编译HelloWorld成功,但是go install 时报错:无法在GOROOT和GOPATH下找到HelloWorld.exe?

还请大家指点一二,谢谢!

共 3 个回复


HobaiRiku

你用的是版本的文档或者什么时候的资料?现在开始学就从go 1.12 开始了解最新的模块化机制vgo,不管什么语言,最好先把模块化、依赖、编译学好,可以看出你提问题方向是对的。

# 0

spacebound

  1. 因为GO的包搜索是从GOPATH和GOROOT路径下搜索,所以你的源码最好放在GOPATH目录下才能被找到
  2. 可以的,go module了解一下,1.13以后将默认采用go mod来管理依赖包,强烈建议使用
  3. 感觉是你执行go install命令的目录不对,或者没有在环境变量里配置GOROOT和GOPATH
# 1

lililala6868

妈妈100电商平台为合生元旗下会员服务平台“妈妈100”,经过7年精心运营,福彩3D平台沉淀下几百万活跃会员,是中国高端妈妈的最重要聚集地;平台并与全国2万多家线下母婴用品店形成长期紧密合作关系。
妈妈100电商平台有清晰的发展模式,上海快3致力于打造的B2BxO2O平台模式为:B2B—品牌直达门店,为上千母婴品牌与2万家母婴店建立连接,帮助品牌快速触达国内主流母婴商家,并直接完成订货交易;同时让门店去掉中间环节,获取更好的收益!O2O—以消费者为中心,整合全国超过2万家母婴店资源,为消费者提供身边母婴店购物、北京快3配送、服务一站式母婴解决方案。目前自主开发的会员服务APP“妈妈100”及商家服务APP“商家中心”经过2年多运营已建立相对完善体系。
   

# 2