新手运行项目遇到问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
qiandongdong
V2EX    Go 编程语言

新手运行项目遇到问题

  •  
  •   qiandongdong 2022-09-22 22:06:13 +08:00 3113 次点击
    这是一个创建于 1114 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    12 条回复    2022-09-23 16:17:40 +08:00
    ginakira
        1
    ginakira  
       2022-09-22 22:09:50 +08:00
    可以先学一下提问的正确姿势
    janxin
        2
    janxin  
       2022-09-22 22:54:45 +08:00
    这个版本的教程太老了,你需要找一个新的版本的。
    Aloento
        3
    Aloento  
       2022-09-23 01:48:55 +08:00   2
    这辈子第一次看见真正的天书
    placeholder
        4
    placeholder  
       2022-09-23 02:01:06 +08:00   1
    全都是说没依赖,那你就下依赖呗,

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

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

    拿别人代码想跑没跑起来?代码呢
    seers
        5
    seers  
       2022-09-23 08:36:22 +08:00 via Android
    go mod tidy 一下,会自动下载依赖
    allanpk716
        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 ,下载对应的插件可以解决很多时间和不必要的问题
    Joeyscat
        7
    Joeyscat  
       2022-09-23 09:56:07 +08:00
    keepeye
        8
    keepeye  
       2022-09-23 10:16:52 +08:00
    过时的文章,你应该看官方的启动教程

    https://go.dev/doc/tutorial/getting-started
    qiandongdong
        9
    qiandongdong  
    OP
       2022-09-23 13:29:41 +08:00
    @seers go mod tidy 显示 go: go.mod file not found in current directory or any parent directory; see 'go help modules' 可以在具体一点吗
    twistedmeadows
        10
    twistedmeadows  
       2022-09-23 13:50:19 +08:00
    首先你给出的文章是部署环境的文章(我们先不说它已经过时了),给出的问题是运行程序的问题,这两个不是一个事(虽然给你的感受可能是环境没部署好)。that's why 每个初学者都应该先写个 hello world ,你写个 hello world 来跑跑就会知道环境部署好没有。

    如果给定一个环境已经部署好的条件,再看你的报错,它是找不到依赖库报的错。而你的依赖管理方式是哪一种?(楼上的建议都是基于你用 go mod 管理依赖的情况,但实际你用的代码库可能不是)你得把你用的代码仓库提供给大家才能帮你看,否则从我的角度来看,就是单纯的,这个仓库本身就不完整,跟环境无关。
    twistedmeadows
        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 .
    dongtingyue
        12
    dongtingyue  
       2022-09-23 16:17:40 +08:00
    go build 也会自动下载包
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2870 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 00:26 PVG 08:26 LAX 17:26 JFK 20:26
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86