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 get -u 库地址
或执行 git clone 该库git地址
都能解决这个问题