相当于 RubyGems?
equivalent of RubyGems?
我来自 ruby 背景,我刚刚开始学习围棋。是否有安装与 RubyGems 相当的第 3 方库的标准方法?
自从go1.11发布后,我们有了官方的go包管理工具,Go Modules.
go modules 和其他包管理工具的区别在于go modules 不依赖$GOPATH
。该项目必须放在 $GOPATH
之外。如果您的项目已经在 $GOPATH
中,但您想使用包管理工具,那么我建议您查看下面的旧答案。
用法:
mkdir testproject
cd testproject
# init project as go module with root package name is testproject
go mod init testproject
# install 3rd party library, it will be stored inside testproject/vendor
go get github.com/labstack/echo
go get github.com/novalagung/gubrak
go mod init
命令生成 Go.mod 文件(类似于 ruby 的 Gemfile
)。您可以通过通常的 go get
命令安装第 3 方库,或者通过将库元数据添加到 Go.mod
文件然后执行 go mod tidy
.
关于 Go 模块的更多信息:https://blog.golang.org/using-go-modules
旧答案
Go 也有包管理工具,叫做 dep。
用法示例:
cd $GOPATH/src
mkdir testproject
cd testproject
# init project
dep init
# install 3rd party library
dep ensure -add github.com/labstack/echo
dep ensure -add github.com/novalagung/gubrak
dep 生成 Gopkg.toml 文件(类似于 ruby 的 Gemfile
)。您可以通过 dep ensure -add
命令安装第三方库,或者将库元数据添加到 Gopkg.toml
然后执行 dep ensure
.
顺便说一句,除了 dep 之外,几乎没有其他选择。有关更多信息,请查看 https://github.com/golang/go/wiki/PackageManagementTools.
我来自 ruby 背景,我刚刚开始学习围棋。是否有安装与 RubyGems 相当的第 3 方库的标准方法?
自从go1.11发布后,我们有了官方的go包管理工具,Go Modules.
go modules 和其他包管理工具的区别在于go modules 不依赖$GOPATH
。该项目必须放在 $GOPATH
之外。如果您的项目已经在 $GOPATH
中,但您想使用包管理工具,那么我建议您查看下面的旧答案。
用法:
mkdir testproject
cd testproject
# init project as go module with root package name is testproject
go mod init testproject
# install 3rd party library, it will be stored inside testproject/vendor
go get github.com/labstack/echo
go get github.com/novalagung/gubrak
go mod init
命令生成 Go.mod 文件(类似于 ruby 的 Gemfile
)。您可以通过通常的 go get
命令安装第 3 方库,或者通过将库元数据添加到 Go.mod
文件然后执行 go mod tidy
.
关于 Go 模块的更多信息:https://blog.golang.org/using-go-modules
旧答案
Go 也有包管理工具,叫做 dep。
用法示例:
cd $GOPATH/src
mkdir testproject
cd testproject
# init project
dep init
# install 3rd party library
dep ensure -add github.com/labstack/echo
dep ensure -add github.com/novalagung/gubrak
dep 生成 Gopkg.toml 文件(类似于 ruby 的 Gemfile
)。您可以通过 dep ensure -add
命令安装第三方库,或者将库元数据添加到 Gopkg.toml
然后执行 dep ensure
.
顺便说一句,除了 dep 之外,几乎没有其他选择。有关更多信息,请查看 https://github.com/golang/go/wiki/PackageManagementTools.