英文:
Issue in installing a go package
问题
所以,最近我开始跟着一个视频教程学习,我对Go语言还比较新,尝试安装了fork版本的bolt db,使用了以下命令:
$ go get go.etcd.io/bbolt/...
注意:我想使用这个特定的版本,但是我遇到了一个错误,错误信息如下:
go: go.mod 文件在当前目录或任何父目录中都找不到。
在模块之外,不再支持 'go get'。
要构建和安装一个命令,请使用带有版本的 'go install',
例如 'go install example.com/cmd@latest'
更多信息请参见 https://golang.org/doc/go-get-install-deprecation
或运行 'go help get' 或 'go help install'
我阅读了一些GitHub的问题,其中说到go get已经被弃用了,那么我该如何解决这个问题呢?我还尝试了一些其他方法,比如使用以下命令:
go install go.etcd.io/bbolt/...
英文:
So,I recently started following a video tutorial and i am fairly new to golang and tried installing the forked version of bolt db using
$ go get go.etcd.io/bbolt/...
Note : I want to use this specific version
but i am getting an error which says
go: go.mod file not found in current directory or any parent directory.
'go get' is no longer supported outside a module.
To build and install a command, use 'go install' with a version,
like 'go install example.com/cmd@latest'
For more information, see https://golang.org/doc/go-get-install-deprecation
or run 'go help get' or 'go help install'
I read a few GitHub issues which say that go get is deprecated so how do I resolve this ?
I also tried few other things such as
go install go.etcd.io/bbolt/...
答案1
得分: 5
Go模块是当今的标准。特别是如果你是Go的新手,不要浪费时间在不使用(和教授)它们的材料上。
在你的项目仓库根目录中运行go mod init yourproject
。这将创建一个go.mod
文件。
一旦你有了这个文件,你可以选择:
- 在源代码中导入
go.etcd.io/bbolt
,然后运行go mod tidy
。Go工具会找到并将模块添加到你的依赖项(go.mod
文件)中。这在入门教程中有详细描述。 - 直接运行
go get go.etcd.io/bbolt
,这也会更新依赖项。
使用Go模块系列详细解释了工作流程,并在将命令从过时的材料转换时非常有帮助。
英文:
Go modules are today's standard. Especially if you are new to Go; do not spend time on material that do not use (and teach) them.
Run go mod init yourproject
in your project repository root directory. This will create go.mod
file.
Once you have that you can either:
import go.etcd.io/bbolt
in source code and then rungo mod tidy
. Go tool will find and add module to your dependencies (go.mod
file). This is described in Getting started tutorial.- run
go get go.etcd.io/bbolt
directly, that will update dependencies too.
Using Go Modules series explains workflow in detail and will be helpful when converting commands from an outdated material.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论