首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到包“rsc.io/报价”

找不到包“rsc.io/报价”
EN

Stack Overflow用户
提问于 2020-10-20 09:21:44
回答 3查看 7.8K关注 0票数 5

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

代码语言:javascript
复制
package main

import "fmt"

import "rsc.io/quote"

func main() {
    fmt.Println(quote.Go())
}

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

代码语言:javascript
复制
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)

我猜这是我安装到哪里的一个问题,有人能给我一点启示吗?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-10-20 09:27:58

具有模块支持的go工具会自动下载和安装依赖项。但要使其工作,您必须初始化您的模块。

仅将源代码保存在.go文件中并与go run hello.go一起运行是不够的,必须存在go.mod文件。

要插入您的模块,请按照本教程中的说明执行:

代码语言:javascript
复制
go mod init hello

产出应是:

代码语言:javascript
复制
go: creating new go.mod: module hello
go: to add module requirements and sums:
        go mod tidy

从go 1.16开始,您还必须运行

代码语言:javascript
复制
go mod tidy

它将自动下载rsc.io/quote包:

代码语言:javascript
复制
go: finding module for package rsc.io/quote
go: found rsc.io/quote in rsc.io/quote v1.5.2

所以下一次跑步

代码语言:javascript
复制
go run hello.go

将产出:

代码语言:javascript
复制
Don't communicate by sharing memory, share memory by communicating.
票数 35
EN

Stack Overflow用户

发布于 2021-09-02 14:35:12

在命令提示符下运行此命令:

go mod tidy

然后执行您的代码:

go run file_name.go

用go文件示例替换file_name.go

go run hello.go

票数 1
EN

Stack Overflow用户

发布于 2021-06-03 11:55:47

2021/6/3 go版本go1.16.4 linux/amd64 64

代码语言:javascript
复制
root@zqf-vm:/workspace/go_workspace/hello# go mod init hello
go: creating new go.mod: module hello
go: to add module requirements and sums:
        go mod tidy
root@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/quote
root@zqf-vm:/workspace/go_workspace/hello# go mod init hello
go: /workspace/go_workspace/hello/go.mod already exists
root@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/quote
root@zqf-vm:/workspace/go_workspace/hello# go mod tidy
go: finding module for package rsc.io/quote
go: downloading rsc.io/quote v1.5.2
go: found rsc.io/quote in rsc.io/quote v1.5.2
go: downloading rsc.io/sampler v1.3.0
go: downloading golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c
root@zqf-vm:/workspace/go_workspace/hello# go run hello.go 
Don't communicate by sharing memory, share memory by communicating.
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64442213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档