为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
德玛西亚99 2022-07-11 14:48:37
有人可以帮我运行我的 main.go:go run main.go吗?有两个文件夹,它们彼此相邻:proj1 文件夹有 main.go、go.modpackage1 文件夹有 package1.go、go.mod、utility.gomain.go 内部:package mainimport (    "package1"    "fmt")func main() {    y := package1.Struct1{        v: "1",    }    z := package1.isTrue()    fmt.Println(z)}在我的包文件夹中:package1.gopackage package1type 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 mod vendor, go run main.go, go get -u package1 ...在 proj1 文件夹中运行时会产生相同的消息:包 package1 不在 GOROOT (/usr/local/go/src/package1)VS Code Go Plugin Linter 显示没有问题。请帮忙。谢谢!
查看完整描述

2 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

为了解决我面临的错误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

使用新的包名称创建另一个文件夹:例如package1


在package1文件夹内:package package1在其第一行制作所有文件......但不要在此包文件夹内制作 MOD 文件!!!


在您的 中main.go,您可以导入该包并使用它


import "main/package1"

y := package1.Struct1{a: 1, b: 2,...}

z := y.func1()


查看完整回答
反对 回复 2022-07-11
?
喵喔喔

TA贡献1735条经验 获得超5个赞

此页面是...的热门搜索结果

包 xxxxx 不在 GOROOT (/usr/lib/go/src/xxxxx)

就我而言,我正在尝试:

go build mything

这给了我错误。解决方案很简单,我需要更具体:

go build mything.go


查看完整回答
反对 回复 2022-07-11
  • 2 回答
  • 0 关注
  • 525 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号