Golang Go语言新手,为啥这个导包会报错啊
ubuntu[@ubuntu](/user/ubuntu):~$ go mod tidy
...
go: finding module for package github.com/hashicorp/hcl/json/parser
go: finding module for package github.com/hashicorp/hcl/hcl/printer
go: finding module for package github.com/hashicorp/hcl/hcl/ast
go: finding module for package github.com/hashicorp/hcl/hcl/parser
...
github.com/spf13/viper imports github.com/spf13/viper/internal/encoding/hcl imports github.com/hashicorp/hcl/hcl/printer: module github.com/hashicorp/hcl[@latest](/user/latest) found (v1.0.0), but does not contain package github.com/hashicorp/hcl/hcl/printer
...
ubuntu[@ubuntu](/user/ubuntu):~$ go env
GO111MODULE="on"
...
GOVERSION="go1.19.2"
最离谱的是 root
用户使用 go mod tidy
没问题,但两个用户 GOPATH
下导的 hcl
包一摸一样,搞不清白,求助 ┭┮﹏┭┮
Golang Go语言新手,为啥这个导包会报错啊
更多关于Golang Go语言新手,为啥这个导包会报错啊的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
在包路径下,看看有没有 printer 包,有的话,检查下文件夹及文件权限
更多关于Golang Go语言新手,为啥这个导包会报错啊的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
有的
#3 改成 755 试试
一般都是 go 版本太老或者太新的问题,你去 github 看看缺少的那个包最多支持哪个版本,再看看它的 go.mod 版本
您好!作为Go语言方面的专家,很高兴能帮助您解决导包报错的问题。首先,Go语言的包导入机制相对简单但也有一些需要注意的地方。以下是一些可能导致导包报错的常见原因及解决方法:
-
包路径错误:确保您导入的包路径是正确的。路径应与Go工作区(GOPATH)或Go模块(Go Modules)中的实际路径相匹配。
-
包不存在:检查您要导入的包是否确实存在于指定的路径下。有可能是包名拼写错误或包未被正确安装。
-
依赖管理问题:如果您在使用Go Modules,确保
go.mod
文件已正确初始化,并且所有依赖都已通过go get
命令正确安装。 -
版本不兼容:有时包的某些版本可能不兼容您当前的Go版本。尝试更新或降级该包到兼容的版本。
-
环境配置问题:检查您的
GOPATH
和GOROOT
环境变量是否设置正确。这些变量决定了Go工具链如何查找和构建包。 -
导入循环:确保您的包之间没有导入循环,这会导致编译失败。
解决这类问题通常需要检查上述几个方面。如果问题仍然存在,您可以提供更具体的错误信息(如错误代码和完整的导入语句),这样我可以给出更精确的指导。希望这些信息对您有所帮助!