没有了解过 go ,今天需要运行一个 go 的程序,按照这个教程 https://www.bt.cn/bbs/thread-17882-1-1.html 部署了环境一切正常,但是运行:go run main.go 的时候,出现如下的问题: main.go:23:2: no required module provides package github.com/shirou/gopsutil/cpu: go.mod file not found in current directory or any parent directory; see 'go help modules' main.go:24:2: no required module provides package github.com/shirou/gopsutil/mem: go.mod file not found in current directory or any parent directory; see 'go help modules' main.go:25:2: no required module provides package github.com/shirou/gopsutil/net: go.mod file not found in current directory or any parent directory; see 'go help modules'
输入:go help modules 后提示如下 Modules are how Go manages dependencies.
A module is a collection of packages that are released, versioned, and distributed together. Modules may be downloaded directly from version control repositories or from module proxy servers.
For a series of tutorials on modules, see https://golang.org/doc/tutorial/create-module.
For a detailed reference on modules, see https://golang.org/ref/mod.
By default, the go command may download modules from https://proxy.golang.org. It may authenticate modules using the checksum database at https://sum.golang.org. Both services are operated by the Go team at Google. The privacy policies for these services are available at https://proxy.golang.org/privacy and https://sum.golang.org/privacy, respectively.
The go command's download behavior may be configured using GOPROXY, GOSUMDB, GOPRIVATE, and other environment variables. See 'go help environment' and https://golang.org/ref/mod#private-module-privacy for more information.
希望大伙可以帮一下我,谢谢。
1
ginakira 2022-09-22 22:09:50 +08:00
可以先学一下提问的正确姿势
|
2
janxin 2022-09-22 22:54:45 +08:00
这个版本的教程太老了,你需要找一个新的版本的。
|
3
Aloento 2022-09-23 01:48:55 +08:00 2
这辈子第一次看见真正的天书
|
4
placeholder 2022-09-23 02:01:06 +08:00 1
全都是说没依赖,那你就下依赖呗,
程序是啥也不说,程序在哪儿能看也不说,这谁知道啊。 再说 go 编译好了不是 exe 或者是啥的吗,打开就运行了啊,你这咋还 go run 上了, 拿别人代码想跑没跑起来?代码呢 |
5
seers 2022-09-23 08:36:22 +08:00 via Android
go mod tidy 一下,会自动下载依赖
|
6
allanpk716 2022-09-23 09:42:12 +08:00
1. 需要先弄清楚两个路径 go root go path 的概念
2. 需要弄清楚 go 项目推荐放到那个目录中 3. go 1.16 后,go mod 的作用是什么,怎么添加和还原支持库 4. 建议使用 IDE ,比如 Goland 或者 VSCode ,下载对应的插件可以解决很多时间和不必要的问题 |
7
Joeyscat 2022-09-23 09:56:07 +08:00
|
8
keepeye 2022-09-23 10:16:52 +08:00
|
9
qiandongdong OP @seers go mod tidy 显示 go: go.mod file not found in current directory or any parent directory; see 'go help modules' 可以在具体一点吗
|
10
twistedmeadows 2022-09-23 13:50:19 +08:00
首先你给出的文章是部署环境的文章(我们先不说它已经过时了),给出的问题是运行程序的问题,这两个不是一个事(虽然给你的感受可能是环境没部署好)。that's why 每个初学者都应该先写个 hello world ,你写个 hello world 来跑跑就会知道环境部署好没有。
如果给定一个环境已经部署好的条件,再看你的报错,它是找不到依赖库报的错。而你的依赖管理方式是哪一种?(楼上的建议都是基于你用 go mod 管理依赖的情况,但实际你用的代码库可能不是)你得把你用的代码仓库提供给大家才能帮你看,否则从我的角度来看,就是单纯的,这个仓库本身就不完整,跟环境无关。 |
11
twistedmeadows 2022-09-23 14:08:32 +08:00
当然如果你安装的是较新版本的 go (我理解至少得 1.13 以上),实际上解法可能是很简单的:
用这两条命令设置一下下载依赖时通过代理: $ go env -w GO111MODULE=on $ go env -w GOPROXY=https://goproxy.cn,direct 用这个命令初始化一下仓库的 mod (它会创建你缺失的 go.mod ) go mod init XXXXXX 注意替换这个 XXXXX 为你使用的项目代码自身的名字或开源地址 然后用这个命令自动整理依赖关系并下载代码内的依赖: go mod tidy 然后 go run . |
12
dongtingyue 2022-09-23 16:17:40 +08:00
go build 也会自动下载包
|