go导包失败
Posted CodeWater
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go导包失败相关的知识,希望对你有一定的参考价值。
todo: go导包的机制。。。。。迷惑,不知道怎么就解决了。
目录结构如下:
在entry中main函数使用node的treenode结构体,一直失败,
导包语句:
import (
"fmt"
"learngo/object/tree"
)
解决
-
在项目下使用
go mod init 项目名
,生成的module居然是项目名。。。???然后import的时候开始地址也是这里的module名!!!
-
用
go mod tidy
看有没有报错(一直报错:$GOPATH/go.mod exists but should not 。 但是能够运行程序)
另外goland几个设置影响的:
这里开了之后才会有项目库依赖!!!
node文件包名如果改成tree1
(跟文件夹名字不一样的话),那么在entry文件导包的时候就需要变成tree1 "learngo/object/tree"
,加一个tree1别名才能生效。。。。
VSCode 安装 Go 插件依赖失败
在 VSCode 安装完 Go 插件之后,需要安装 Go 相关的依赖。但是由于国内众所周知的网络问题,一些 golang.org 的包无法正常下载。这个时候我们需要手动从 Github 下载,再更新 Go 插件的依赖。
首先,在命令行确认你配置好了 GOPATH
和 GOPROXY
(如果没有就要配置环境变量),比如我的 Go 版本为 1.13.3,GOPATH
为 $HOME/go
目录,GOPROXY
为 https://goproxy.cn
go env
然后,在你的系统里切换到 GOPATH
下的 go/src/golang.org/x
目录(如果没有这些目录就全部新建),手动下载下面的包
git clone git@github.com:golang/tools.git
git clone git@github.com:golang/crypto.git
git clone git@github.com:golang/lint.git
git clone git@github.com:golang/xerrors.git
git clone git@github.com:golang/sync.git
最后,在 VSCode 用 F1 或 ctrl+shift+p 打开命令面板,搜索 Go: Install/Update Tools
,用这个命令来更新插件的依赖,如果安装完没报错就成功了。
以上是关于go导包失败的主要内容,如果未能解决你的问题,请参考以下文章
eclipse使用单元测试JUnit时,提示导包失败“The type org.junit.jupiter.api.Assertions is not accessible”?
Flask 安装第三方库 ImportError: No module named flask 导包失败,Python3重新安装Flask模块