手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2018年10月的文章

go mod 快速使用

 我自己的用法,不知道别人是不是这样的

感觉用了go mod ,gopath可以不用设置了。
老方法:src/pkg/bin,建三个目录,然后GOPATH设置在这个外层(因为感觉go get的时候好象还是会往pkg里扔,只是pkg多了一个目录叫:mod)
在src下建一个目录,比如:blog,在blog目录里go mod init
然后就是正常的用法了。比如你要引入啥,go get 就行 了。如果是你手动写的一个路径。你引入后,还得执行go mod tidy 。
只是这样我老是不能正常。所以我每次都选择 go mod tidy && go mod vendor,会在blog里生成Vendor的目录。然后就一切OK了。
 
go mod对我来说最方便的应该就是Replace了。比如我准备要放个代码上github(或者其他),但中途可能会改,总不可能一直先commit,再go get 吧?
所以replace github.com/xxx/xxx 0.0.1 => /Users/gouki/go/xxx/xxx ,切换到本地。。那边代码有更新。我这边go mod tidy && go mod vendor就完事儿了。
 
总感觉这样目前还不是最佳的。但先弄一下吧。至少我目前够用了

go install go-sqlite3时,报错:#include nested too deeply

 安装sqlite3的时候,报:

XML/HTML代码
  1. /usr/local/include/stdint.h:2:10: error: #include nested too deeply  
  2. #include <stddef.h>  
  3.          ^  
  4. /usr/local/include/stdint.h:59:11: error: #include nested too deeply  
  5. # include <stdint.h>  
  6.           ^  
  7. /usr/local/include/stdint.h:72:11: error: #include nested too deeply  
  8. # include <sys/types.h>  
  9.           ^  
  10. /usr/local/include/stdint.h:76:10: error: #include nested too deeply  
  11. #include <limits.h>  
  12.          ^  
  13. /usr/local/include/stdint.h:82:11: error: #include nested too deeply  
  14. # include <inttypes.h>  
  15.           ^  
  16. 5 errors generated.  
开始的时候以为cgoenabled=0结果 。go env的时候发现有打开。
又以为可能是xcode-select 没装,于是执行xcode-select --install 进行工具安装 。症状依然。最后找到这里:https://github.com/SOHU-Co/kafka-node/issues/881,看来有不少人有这个问题。只是有人说,brew doctor一下就行了。光执行,并没啥用
最后有一个人提出:
XML/HTML代码
  1. mkdir /tmp/includes  
  2. brew doctor 2>&1 | grep "/usr/local/include" | awk '{$1=$1;print}' | xargs -I _ mv _ /tmp/includes  
一下子全解决了!