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

标签 go module

关闭。这个问题是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/

相关文章:

iOS CommonJS 模块返回 "undefined is not a constructor"错误

module - 为什么 Rust 允许公共(public)访问私有(private)模块?

swift - 如何在模块加载时执行一次?

go - 将嵌套结构中的 slice 传递给 Go 中的 Revel 模板

json - golang 使用 Gorm 查询数据库并在 http 响应中返回 json

go - net/http webform 数据发布请求问题

go - 如何在另一个 map 界面中添加一个 map 界面?

mongodb - mongo-go-driver 投影数组长度

module - 列出来自 erlang 模块的所有调用

php - 在ExpressionEngine模块开发中,哪里是添加PHP类进行实例化的好地方?