猿问

找不到包“rsc.io/quote”

我正在按照教程(https://golang.org/doc/tutorial/getting-started)开始使用 Go,但我已经遇到了问题。当我运行以下代码时:


package main


import "fmt"


import "rsc.io/quote"


func main() {

    fmt.Println(quote.Go())

}


我在控制台中收到以下错误消息:


C:\Users\myname\Documents\Work\GO\hello>go run hello.go

hello.go:7:8: cannot find package "rsc.io/quote" in any of:

        C:\Program Files\Go\src\rsc.io\quote (from $GOROOT)

        C:\Users\myname\go\src\rsc.io\quote (from $GOPATH)

我猜这是我安装 Go 的方式/位置的问题,有人可以解释一下吗?


开心每一天1111
浏览 210回答 3
3回答

牛魔王的故事

具有模块支持的go工具会自动下载并安装依赖项。但要让它工作,你必须初始化你的模块。.go将源文件保存在文件中并使用 运行是不够的go run hello.go,go.mod文件必须存在。要初始化您的模块,请按照教程中的说明进行操作:go mod init hello输出应该是:go: creating new go.mod: module hellogo: to add module requirements and sums:        go mod tidy从 go 1.16 开始,你还必须运行go mod tidy它将rsc.io/quote自动下载包:go: finding module for package rsc.io/quotego: found rsc.io/quote in rsc.io/quote v1.5.2所以下一次运行go run hello.go将输出:Don't communicate by sharing memory, share memory by communicating.

神不在的星期二

在命令提示符下运行此命令:go mod tidy之后执行你的代码:go run file_name.go替换file_name.go为您的 go 文件示例:go run hello.go

慕姐8265434

2021/6/3 go版本go1.16.4 linux/amd64root@zqf-vm:/workspace/go_workspace/hello# go mod init hellogo: creating new go.mod: module hellogo: to add module requirements and sums:        go mod tidyroot@zqf-vm:/workspace/go_workspace/hello# go run hello.go hello.go:6:2: no required module provides package rsc.io/quote; to add it:        go get rsc.io/quoteroot@zqf-vm:/workspace/go_workspace/hello# go mod init hellogo: /workspace/go_workspace/hello/go.mod already existsroot@zqf-vm:/workspace/go_workspace/hello# go run hello.go hello.go:6:2: no required module provides package rsc.io/quote; to add it:        go get rsc.io/quoteroot@zqf-vm:/workspace/go_workspace/hello# go mod tidygo: finding module for package rsc.io/quotego: downloading rsc.io/quote v1.5.2go: found rsc.io/quote in rsc.io/quote v1.5.2go: downloading rsc.io/sampler v1.3.0go: downloading golang.org/x/text v0.0.0-20170915032832-14c0d48ead0croot@zqf-vm:/workspace/go_workspace/hello# go run hello.go Don't communicate by sharing memory, share memory by communicating.
随时随地看视频慕课网APP

相关分类

Go
我要回答