cannot find package “xxx“ in any of的解决方案(完美版)

柔情只为你懂 2022-12-01 01:17 213阅读 0赞

时间平复了一时的冲动,却加深了挫败感。

——马尔克斯 《百年孤独》

目录

提示找不到的是工程内部自定义的包名

提示找不到的是第三方库的包名


这个问题遇到频率还是比较高,这次总结出来,希望能让更多的人脱离苦海!

#

提示找不到的是工程内部自定义的包名

今天出了个奇怪的事情,编译项目提示cannot find package “包名” in any of 其中提示找不到的包名是工程内已有的。

接连提示了好几行类似的信息。

我在本地开发时goland中使用插件与指定远程Linux机器进行了同步,目的即本地修改了的可以同步到Linux机器上,并在Linux下进行编译及其它操作。

经过仔细思考整个过程,终于发现了引起的原因:同步到远程Linux时目录是自己在/root下新建的目录,该目录并不在$GOPATH下:

20200825133701888.png

看看$GOPATH的路径:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hZWlhfOTk4Nw_size_16_color_FFFFFF_t_70

解决:

把本地和远程同步的目录直接修改成$GOPATH下,即放好之后的新地址:/root/go/src/工程名 这样就OK了。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hZWlhfOTk4Nw_size_16_color_FFFFFF_t_70 1

提示找不到的是第三方库的包名

这种很简单,提示找不到啥,就手动拉它的代码。

可以先配置go代理:export GOPROXY=https://goproxy.io

然后重试。依旧不行的话继续走下面的:

执行 go get -u 库地址

或手动进行:

cd $GOPATH/src/xxx

执行 git clone 该库git地址

就能解决这个问题

发表评论

表情:
评论列表 (有 0 条评论,213人围观)

还没有评论,来说两句吧...

相关阅读