cannot find package “xxx“ in any of的解决方案(完美版)
时间平复了一时的冲动,却加深了挫败感。
——马尔克斯 《百年孤独》
目录
提示找不到的是工程内部自定义的包名
提示找不到的是第三方库的包名
这个问题遇到频率还是比较高,这次总结出来,希望能让更多的人脱离苦海!
#
提示找不到的是工程内部自定义的包名
今天出了个奇怪的事情,编译项目提示cannot find package “包名” in any of 其中提示找不到的包名是工程内已有的。
接连提示了好几行类似的信息。
我在本地开发时goland中使用插件与指定远程Linux机器进行了同步,目的即本地修改了的可以同步到Linux机器上,并在Linux下进行编译及其它操作。
经过仔细思考整个过程,终于发现了引起的原因:同步到远程Linux时目录是自己在/root下新建的目录,该目录并不在$GOPATH下:
看看$GOPATH的路径:
解决:
把本地和远程同步的目录直接修改成$GOPATH下,即放好之后的新地址:/root/go/src/工程名 这样就OK了。
提示找不到的是第三方库的包名
这种很简单,提示找不到啥,就手动拉它的代码。
可以先配置go代理:export GOPROXY=https://goproxy.io
然后重试。依旧不行的话继续走下面的:
执行 go get -u 库地址
或手动进行:
cd $GOPATH/src/xxx
执行 git clone 该库git地址
就能解决这个问题
还没有评论,来说两句吧...