gpt4 book ai didi

Golang 包不在 GOROOT (/usr/local/go/src/packageName)

转载 作者:行者123 更新时间:2023-12-03 10:11:00 25 4
gpt4 key购买 nike

关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

去年关闭。




Improve this question




嗨,有人可以帮我运行我的 main.go:go run main.go ?
有两个文件夹,它们彼此相邻:
proj1 文件夹有 main.go、go.mod
package1 文件夹有 package1.go、go.mod、utility.go
在 main.go 里面:

package main

import (
"package1"
"fmt"
)

func main() {
y := package1.Struct1{
v: "1",
}
z := package1.isTrue()
fmt.Println(z)
}
在我的包文件夹中:package1.go
package package1

type Package1 struct {}

func (a *Package1) IsTrue() bool {
return true
}
我的 Go 版本:go1.15.2 linux/amd64
我的 Go 环境设置:
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/user1/.cache/go-build"
GOENV="/home/user1/.config/go/env"
GOMODCACHE="/mnt/sda5/gopath/pkg/mod"
GOOS="linux"
GOPATH="/mnt/sda5/gopath"
GOROOT="/usr/local/go"
...
我试过 :
go install, go build ... 结果包文件夹内没有错误
go mod vendor, go run main.go, go get -u package1 ... 在 proj1 文件夹中运行时会产生相同的消息:
包 package1 不在 GOROOT (/usr/local/go/src/package1) 中
VS Code Go Plugin Linter 显示没有问题。
请帮忙。谢谢!

最佳答案

解决我面临的错误 package package1 is not in GOROOT (/usr/local/go/src/package1)我必须确保正确配置了环境变量。
我在 bashrc 中添加了这些行文件:

export GO111MODULE=on
#GOPATH MUST BE OUTSIDE OF GOROOT directory!!!
export GOPATH=/mnt/sda1/programming/gopath
export PATH=$PATH:$GOPATH/bin

export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
我加载了 bashrc终端中的文件:
source ~/.bashrc
现在我可以执行以下程序来使用 Go 语言进行编程。
新建 main文件夹...
在此 main文件夹:
制作 main.go文件以 package main 开头
运行以下命令:
go mod init main
使用新的包名称创建另一个文件夹:例如 package1package1文件夹:
使用 package package1 制作所有文件在它的第一行......但不要在这个包文件夹中制作 MOD 文件!!!
在您的 main.go ,您可以导入该包并使用它
import "main/package1"
y := package1.Struct1{a: 1, b: 2,...}
z := y.func1()

关于Golang 包不在 GOROOT (/usr/local/go/src/packageName),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64448560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com