Golang Go语言新手运行项目遇到问题

发布于 1周前 作者 phonegap100 来自 Go语言

没有了解过 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.

希望大伙可以帮一下我,谢谢。


Golang Go语言新手运行项目遇到问题

更多关于Golang Go语言新手运行项目遇到问题的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

13 回复

可以先学一下提问的正确姿势

更多关于Golang Go语言新手运行项目遇到问题的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


这个版本的教程太老了,你需要找一个新的版本的。

这辈子第一次看见真正的天书

全都是说没依赖,那你就下依赖呗,

程序是啥也不说,程序在哪儿能看也不说,这谁知道啊。

再说 go 编译好了不是 exe 或者是啥的吗,打开就运行了啊,你这咋还 go run 上了,

拿别人代码想跑没跑起来?代码呢

go mod tidy 一下,会自动下载依赖

  1. 需要先弄清楚两个路径 go root go path 的概念
    2. 需要弄清楚 go 项目推荐放到那个目录中
    3. go 1.16 后,go mod 的作用是什么,怎么添加和还原支持库
    4. 建议使用 IDE ,比如 Goland 或者 VSCode ,下载对应的插件可以解决很多时间和不必要的问题

过时的文章,你应该看官方的启动教程

https://go.dev/doc/tutorial/getting-started

go mod tidy 显示 go: go.mod file not found in current directory or any parent directory; see ‘go help modules’ 可以在具体一点吗

首先你给出的文章是部署环境的文章(我们先不说它已经过时了),给出的问题是运行程序的问题,这两个不是一个事(虽然给你的感受可能是环境没部署好)。that’s why 每个初学者都应该先写个 hello world ,你写个 hello world 来跑跑就会知道环境部署好没有。

如果给定一个环境已经部署好的条件,再看你的报错,它是找不到依赖库报的错。而你的依赖管理方式是哪一种?(楼上的建议都是基于你用 go mod 管理依赖的情况,但实际你用的代码库可能不是)你得把你用的代码仓库提供给大家才能帮你看,否则从我的角度来看,就是单纯的,这个仓库本身就不完整,跟环境无关。

当然如果你安装的是较新版本的 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 .

go build 也会自动下载包

作为IT领域的Go语言专家,对于Golang新手在运行项目时遇到的问题,以下是一些建议:

  1. 确保Go环境已正确安装:请访问Go语言官方网站,下载并安装适合你操作系统的安装包。安装完成后,在终端或命令提示符中运行go version,验证安装是否成功。
  2. 编写并初始化项目:创建一个新的项目目录,并在其中创建一个以.go为后缀的入口文件,如main.go。在终端中导航到项目目录,使用go mod init命令初始化模块,这将创建一个包含模块名称和Go版本信息的go.mod文件。
  3. 编译并运行项目:在项目目录中运行go build命令编译代码,生成可执行文件。然后运行生成的可执行文件,或使用go run main.go直接运行项目代码(无需先编译)。
  4. 检查代码和依赖:确保你的代码没有语法错误,并检查go.mod文件以确保所有依赖都已正确列出。如有第三方依赖,可使用go get命令安装。
  5. 利用工具和资源:使用Go语言提供的性能分析工具(如pprof)和竞赛检测器来检测和修复潜在的问题。同时,参考Go语言的官方文档和社区讨论,以获取更多帮助和支持。

遵循以上步骤和建议,应该能帮助你解决运行Go语言项目时遇到的问题。如仍有疑问,请随时提问。

回到顶部