Skip to content

多版本控制

  • 依赖安装
# 安装 asdf (版本管理) 
brew install asdf 

# 安装 direnv (目录环境变量管理) 
brew install direnv 

# 将 direnv 挂载到 zsh (写入 ~/.zshrc) 
echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc 

source ~/.zshrc
  • go 版本控制,在项目根目录下面创建 .tool-versions,写入需要的 go 版本
text
golang 1.24.0
  • go 代理、权限校验,在项目根目录下面创建 .envrc,写入需要的 go 版本
B 站版本
bash
# 自动切换 Go 版本 (配合 asdf 使用) 
use asdf 

# 基础配置 
export GO111MODULE=on 
export GOPATH=$HOME/go 

# 建议统一,避免污染 asdf 安装目录 
# 代理链路:公司内部 > 外部镜像 > 直连 
export GOPROXY=http://goproxy.bilibili.co,https://goproxy.cn,direct 

# 私有库配置: 
# 核心逻辑:把 git.bilibili.co 排除在 GOPRIVATE 之外, 
# 这样它就会走公司 GOPROXY,而不是调用你本地没权限的 git。 
export GOPRIVATE=buf.bilibili.co,*.internal.co 
export GONOPROXY=buf.bilibili.co 
export GONOSUMDB=*.bilibili.co
私有版本
bash
# 自动切换 Go 版本 (配合 asdf 使用) 
use asdf 
export GOPATH=$HOME/go

# 代理链路:公共镜像 > 直连 
export GOPROXY=https://goproxy.cn,direct 

# 清空私有库配置,全部走公共链路 
unset GOPRIVATE 
unset GONOPROXY 
unset GONOSUMDB

direnv allow

正在精进