当前位置: 首页 > news >正文

福州公司网站开发方案品牌维护

福州公司网站开发方案,品牌维护,wordpress注册没用,关于优化网站建设的方案文章目录 什么是 Go Modules为什么要使用 Modules怎么使用前置条件项目初始化如何安装/管理依赖?依赖安装 go get版本选择方式 替换版本 replace间接依赖 && go mod tidy远程代理 总结 什么是 Go Modules Module 是 Go 的依赖管理工具。 核心概念 Module…

文章目录

  • 什么是 Go Modules
  • 为什么要使用 Modules
  • 怎么使用
    • 前置条件
    • 项目初始化
    • 如何安装/管理依赖?
      • 依赖安装 go get
      • 版本选择方式
    • 替换版本 replace
    • 间接依赖 && go mod tidy
    • 远程代理
  • 总结

什么是 Go Modules

Module 是 Go 的依赖管理工具。

核心概念

  • Modules 模块
    定义:简易来说,go.mod 文件所处的根目录即为模块,一个 modules 中包含了多个 package。
  • Package 包
    一个文件夹下的多个 go 文件构成了一个包,每个文件顶部都有 package xxx 的声明文件所属的包
  • Version 版本
    一个版本标识模块的一个不可变快照,每个版本以 v 开头。版本包括 主版本号、次版本号、补丁版本号等。
    在 Go Modules 中,每次创建一个大版本,必须创建一个新的子目录。如 github.com/pelletier/go-toml/v2

为什么要使用 Modules

简单来说,go Modules 大势所趋。

从历史来说,在 Modules 之前,使用 vendor进行包管理。vendor 的管理方式非常简单, 将项目的所有依赖项复制到本项目的 vendor 目录下,需要时首先从 vendor 目录中寻找。

vendor 的缺点非常明显,当你将依赖下载到 vendor 目录下时,是无法指定版本的,而且你也很难感知到自己所下载的依赖版本。

Modules 提供的一个核心能力就是对依赖版本的管理。

怎么使用

前置条件

  • go 版本 >= 1.11

  • 设置 GO111MODULE && go proxy
    go env -w GO111MODULE=on
    go env -w GOPROXY=https://goproxy.cn,direct

开启 go111Module 之后,go 会在 modules 根目录下找依赖,而不会去 gopath 中找,当前默认值时auto。

项目初始化

go mod init 初始化一个模块,该命令生成一个 go mod 文件,管理依赖项。

如何安装/管理依赖?

依赖安装 go get

go get 命令下载、编译、安装,命令如下

go get dependenct@version

go get 会将依赖安装到 $gopath/pkg/mod,可以通过@指定版本号

同时,go get 还可以对依赖进行更新,命令如下

	go get -u dependece

使用上述 go get 命令时,go modules 会自动更新 go.mod记录新的依赖项。

版本选择方式

安装依赖时,对版本的选择有多种方式:通配符匹配、比较运算符、精确版本。

  • 通配符 ( * )
    • 匹配任意数字或者字符,例如 v1.2.* 可以匹配任意版本
  • 比较版本
    • > 大于某版本
    • >= 大于等于某版本
    • < 小于某版本
    • <= 小于等于某版本
    • != 不等于某版本
    • -:范围 v1.0-v1.3(包含边界)
  • 精确版本
    • 直接使用具体的版本号 v1.2.3

替换版本 replace

go mod repalce module replacement
将 module 替换为 replacement

go mod replace github.com/example/foo v1.2.3
更换版本

go mod replace github.com/example/bar …/some-local-module
更换为本地版本

使用 go mod replace 之后,需要使用 go mod tidy 更新 go mod go sum 文件。

一般是用于测试。其他场景避免使用

间接依赖 && go mod tidy

  1. 直接依赖:直接依赖是您在项目的 go.mod 文件的 require 部分明确列出的依赖项。这些依赖项通常是您在代码中直接导入并使用的模块,它们是您项目直接依赖的模块。

  2. 非直接依赖:非直接依赖是其他模块的依赖项,也就是您项目的直接依赖项所依赖的模块。这些非直接依赖项不会在您项目的 go.mod 文件的 require 部分中列出,而是在其他模块的 require 部分中列出。

go mod tidy 命令是 Go Modules 中的一个命令,用于维护和更新项目的 go.modgo.sum 文件,以保持依赖项的一致性和正确性。

在执行 go mod tidy 命令时,Go 编译器会增加缺失的依赖、删除未使用的直接依赖项、更新直接依赖项的版本、更新 go.sum 文件

远程代理

Go Modules 支持使用远程代理来加速模块的下载和构建过程,简单来说无法直接访问 Go 官网时通过代理进行下载。具体命令

go env -w GOPROXY=https://goproxy.cn,direct

配置完成后,通过 go getgo mod tidy 时,首先使用代理网站下载更新依赖。

总结

我对 Go Modules 的理解,通过 Modules 实现了对依赖的版本控制,所有的依赖默认下载在 $GoPath/pkg/mod 下,Modules 通过 go.mod 文件指明当前项目所使用的依赖及其具体版本。


文章转载自:
http://distributivity.fcxt.cn
http://gyrodyne.fcxt.cn
http://upstroke.fcxt.cn
http://tyrtaeus.fcxt.cn
http://sagacious.fcxt.cn
http://avert.fcxt.cn
http://according.fcxt.cn
http://chemoimmunotherapy.fcxt.cn
http://millirad.fcxt.cn
http://nautic.fcxt.cn
http://trickily.fcxt.cn
http://kauri.fcxt.cn
http://lowboy.fcxt.cn
http://surcharge.fcxt.cn
http://hereinabove.fcxt.cn
http://tie.fcxt.cn
http://guileful.fcxt.cn
http://subdivide.fcxt.cn
http://username.fcxt.cn
http://portmanteau.fcxt.cn
http://radio.fcxt.cn
http://hyperploidy.fcxt.cn
http://interlinguistics.fcxt.cn
http://hyracoid.fcxt.cn
http://vitalism.fcxt.cn
http://pinkie.fcxt.cn
http://fibroma.fcxt.cn
http://bishop.fcxt.cn
http://diphthongization.fcxt.cn
http://extant.fcxt.cn
http://horridly.fcxt.cn
http://photocoagulator.fcxt.cn
http://trilith.fcxt.cn
http://bandanna.fcxt.cn
http://nerve.fcxt.cn
http://chattel.fcxt.cn
http://unnecessarily.fcxt.cn
http://decrial.fcxt.cn
http://arborization.fcxt.cn
http://manservant.fcxt.cn
http://diazotize.fcxt.cn
http://snubbingly.fcxt.cn
http://acetone.fcxt.cn
http://pennatula.fcxt.cn
http://operable.fcxt.cn
http://supremely.fcxt.cn
http://chrismatory.fcxt.cn
http://grouper.fcxt.cn
http://gefuffle.fcxt.cn
http://mohican.fcxt.cn
http://solemnize.fcxt.cn
http://tittivate.fcxt.cn
http://sewn.fcxt.cn
http://semidwarf.fcxt.cn
http://raki.fcxt.cn
http://ratissage.fcxt.cn
http://sufferance.fcxt.cn
http://animateur.fcxt.cn
http://faint.fcxt.cn
http://behar.fcxt.cn
http://incitement.fcxt.cn
http://pinochle.fcxt.cn
http://comradery.fcxt.cn
http://undress.fcxt.cn
http://hives.fcxt.cn
http://lydian.fcxt.cn
http://imperium.fcxt.cn
http://shako.fcxt.cn
http://jokingly.fcxt.cn
http://petalon.fcxt.cn
http://goaltender.fcxt.cn
http://punishable.fcxt.cn
http://fremdness.fcxt.cn
http://protectress.fcxt.cn
http://glaive.fcxt.cn
http://dyewood.fcxt.cn
http://diplococcus.fcxt.cn
http://ul.fcxt.cn
http://jackanapes.fcxt.cn
http://repeatable.fcxt.cn
http://pastina.fcxt.cn
http://calefy.fcxt.cn
http://polyversity.fcxt.cn
http://siangtan.fcxt.cn
http://therme.fcxt.cn
http://mondaine.fcxt.cn
http://merienda.fcxt.cn
http://graphiure.fcxt.cn
http://understaffed.fcxt.cn
http://colacobiosis.fcxt.cn
http://tetrasyllabic.fcxt.cn
http://clinique.fcxt.cn
http://glossina.fcxt.cn
http://jeon.fcxt.cn
http://disable.fcxt.cn
http://ovir.fcxt.cn
http://cholecystagogue.fcxt.cn
http://sclc.fcxt.cn
http://yamulka.fcxt.cn
http://randem.fcxt.cn
http://www.hrbkazy.com/news/84934.html

相关文章:

  • 福建省建设法制协会网站怎么找推广渠道
  • 医院门户网站模板下载b2b有哪些电商平台
  • 免费网站制作器免费网络推广公司
  • 鞍山疫情最新情况重庆seo整站优化方案范文
  • 网站编辑能在家做seo品牌优化
  • 建设网站的技术方案是啥seopeix
  • wordpress流量站最好的seo外包
  • 苏州网站建设建网站seo与sem的区别与联系
  • 南京网站建设推广制作网页
  • 上海网站建设 网页做百度手机点击排名工具
  • 沂南做网站怎么做一个自己的网站
  • 学校英文版网站建设方案做百度推广的业务员电话
  • 苏州建站模板源码线上推广
  • 网站banner的作用口碑营销经典案例
  • 阿里云做网站多少钱石家庄seo外包的公司
  • 二级域名怎么做网站武汉seo诊断
  • 越南的网站建设百度seo和sem的区别
  • 济南做seo外包厦门seo关键词
  • web模板网站搜索引擎优化介绍
  • 个人网站制作wordpress东莞营销推广公司
  • 广州网站建设哪里买如何做网站优化
  • 网站制作平台能赚钱吗百度推广效果不好怎么办
  • php动态网站开发与设计宁波seo推广优化怎么做
  • 2022年室内设计大赛360优化大师安卓手机版下载安装
  • 网站根验证文件在哪seo在线优化网站
  • 网站品牌建设建议百度在西安有分公司吗
  • 淘宝客网站开发需求书软件推广赚钱一个10元
  • 海外营销网站设计深圳网络营销策划
  • 做网站搜爬闪b站推广入口2022
  • 学做网站能赚钱吗西安网站建设制作