go vendor 项目迁移到 mod 项目
2022/7/3 23:26:29
本文主要是介绍go vendor 项目迁移到 mod 项目,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
检查最新的 Golang 版本
你如果问我,为什么要用最新的?因为我们都是软件爱好者,我们应该渴望测试最新的技术! ( 顺便说一下,你可以用 Golang 1.11.X,但是您应该想知道为什么不使用最新的可用版本…… )
找到要迁移的项目
在本文中,我将迁移一个我几个月前工作过的个人项目。在这个项目中,我使用 Glide 来管理依赖项。你可以对你的任何项目做同样的事情。
不要担心 mollydb 做了什么,因为我们只需要理解如何迁移现有的项目。
git clone https://github.com/wesovilabs/mollydb.git cd mollydb git checkout -b feature/using-go-mods
调整项目结构
这个项目是用一个 src 文件夹构建的,该文件夹包含一个子文件夹 mollydb,在这个子文件夹中有一个 vendor 目录用来存依赖项。
src > mollydb > vendors
删除 vendor 目录
rm -rf src/mollydb/vendor
运行如下命令初始化 go modeule 和 拉取依赖
go mod init mollydb # 初始化 go module
go mod tidy # 拉取依赖
命令执行完毕后,会在根路径下将得到一个 go.mod 和 go.sum 文件,其中 go.mod 文件内容将如下所示
module mollydb require ( gitHub.com/boltdb/bolt v0.0.0 – 20180302180052-fd01fc79c553 gitHub.com/fsnotify/fsnotify v1.4.7 gitHub.com/go-yaml/yaml v0.0.0 – 20140922213225-bec87e4332ae gitHub.com/graphql-go/graphql v0.0.0 – 20180324214652 – 8ab5400ff77c gitHub.com/graphql-go/handler v0.0.0 – 20180312211735-df717460db9a gitHub.com/graphql-go/relay v0.0.0 – 20171208134043 – 54350098cfe5 golang.org/x/net v0.0.0 – 20180320002117 – 6078986fec03 golang.org/x/sys v0.0.0 – 20180318190847 – 01acb38716e0 gopkg.in/yaml.v2 v2.1.1 )
运行程序
我们只需要运行下面的命令来验证项目是否像以前那样工作。
go run main.go
所有的都成功了
go module vs vendor
go1.5引入 vendor 来管理模块依赖,go1.11引入module概念来替代 vendor,成为最新的推荐的包管理工具。详细对比可以阅读:Go:包管理工具GOPATH、vendor、dep 、go module
go module和vendor是两个冲突的设计,二者只能选一,不可混用。
vendor依赖的是GOPATH,那么必须设置GOPATH
module不使用GOPATH,那么可以不设置GOPATH,成为了一个可选项。
转自:迁移到 mod 只需 3 个步骤,对原文有删改。
此外还参考了:go vendor的用法、Go:包管理工具GOPATH、vendor、dep 、go module
这篇关于go vendor 项目迁移到 mod 项目的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-04-01got an unexpected keyword argument
- 2024-03-30维多利亚的秘密 golang入坑系统
- 2024-03-29mongodb sort by date
- 2024-03-29go swagger
- 2024-03-25mongodb cdc
- 2024-03-25how to use go in vscode
- 2024-03-22mongooseserverselectionerror: connect econnrefused ::1:27017
- 2024-03-21pymongo insert_many
- 2024-03-18projection mongodb
- 2024-03-14clickhouse-go