internal

package
v0.1.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 5, 2023 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Clean

func Clean(version string) error

Clean 将go1.x的老版本删除掉

func DataDir added in v0.1.5

func DataDir() string

DataDir 获取临时目录,路径为 ~/sdk/smart-go-dl

func Download

func Download() error

Download 下载 golang/dl.git

func Fix added in v0.1.12

func Fix() error

func GOBIN

func GOBIN() string

GOBIN 获取 GOBIN 环境变量

func GetDataDir added in v0.1.5

func GetDataDir() (string, error)

GetDataDir 获取当前应用的缓存目录, 路径为 ~/sdk/smart-go-dl

func Install

func Install(version string) error

Install 安装 go1.x 的最新版本

func List

func List() error

List 列出已安装和可安装的 go 版本

func Lock

func Lock(version string, action string) error

Lock 给指定版本添加 lock 标记文件

func ParserGOBIN

func ParserGOBIN() error

ParserGOBIN 解析 GOBIN 环境变量

func Prepare

func Prepare() error

Prepare 在其他正式命令之前的预处理逻辑

func Remove

func Remove(version string) error

Remove 删除指定的版本

func Update

func Update(version string) error

Update 更新 go 版本,version 支持多种格式 如 go1.16、go1.16.1、all

Types

type Config added in v0.1.5

type Config struct {
	// Proxy 代理服务器地址,可选
	// 若为空,会使用环境变量中的 Proxy 配置
	Proxy string

	// GoProxy 可选
	// 若为空 会读取 go env GOPROXY 的值
	GoProxy string

	// TarURLPrefix 下载 go 打包文件的 url 地址前缀,可选
	// 为空时使用默认值 "https://dl.google.com/go/"
	TarURLPrefix string

	// InsecureSkipVerify 是否跳过证书校验
	InsecureSkipVerify bool
}

Config 当前程序的配置

type MinorVersion

type MinorVersion struct {
	NormalizedVersion string
	PatchVersions     []*Version
}

MinorVersion 次要版本信息

func (*MinorVersion) Installed

func (mv *MinorVersion) Installed() bool

Installed 是否已安装过了

func (*MinorVersion) Latest

func (mv *MinorVersion) Latest() *Version

Latest 最新的版本

type Version

type Version struct {
	// 原始的版本号,如 go1.10,go1.9rc2,go1.18beta1
	Raw string

	// 归一化的,如 go1.17
	Normalized string

	// 归一化的值,值越大表示版本越新
	Num int
}

Version go 版本信息

func (*Version) DlDir

func (v *Version) DlDir() string

DlDir 当前版本在缓存的 golang/dl 下的路径

func (*Version) GOROOT added in v0.1.12

func (v *Version) GOROOT() string

GOROOT 当前版本的 GOROOT

func (*Version) Installed

func (v *Version) Installed() bool

Installed 该版本是否已经安装过了

func (*Version) IsNormal added in v0.1.13

func (v *Version) IsNormal() bool

IsNormal 是否正式版本,即非 beta、rc

func (*Version) NormalizedGoBinPath

func (v *Version) NormalizedGoBinPath() string

NormalizedGoBinPath 归一化到 2 位版本的 gobin 的路径 如 $GOBIN/go1.16、$GOBIN/go1.17 在 mac、linux 下一般是一个软链,链接到当前 2 位版本的最新3位版本的 gobin

func (*Version) RawFormatted

func (v *Version) RawFormatted() string

RawFormatted 真实的 3 位版本好,如 go1.16.1 若是 go1.16 这种第一个正式版本,会将其转换为 go1.16.0

func (*Version) RawGoBinPath

func (v *Version) RawGoBinPath() string

RawGoBinPath 当前版本原始的 go 命令地址,如 $GOBIN/go1.16.1

func (*Version) String

func (v *Version) String() string

String 格式化输出

type Versions

type Versions []*MinorVersion

Versions 一系列版本号

func LastVersions

func LastVersions() (Versions, error)

LastVersions 获取 golang/dl里所有的版本信息

func (Versions) Get

func (vs Versions) Get(version string) *MinorVersion

Get 获取指定的次要版本 参数 version需要是一个归一化的次要版本,如 go1.16

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL