作为开发者,配置开发环境时的“换源噩梦”几乎人人都经历过:网上搜到的镜像源要么失效无法使用,要么切换步骤繁琐,不同语言、工具的换源命令五花八门,更让人头疼的是,根本不知道哪个源速度最快,往往在反复测试中浪费大量时间。前几天偶然发现了一款全平台通用的换源工具 chsrc,实测后发现它彻底解决了这些痛点——自动测速、一键切换、支持自定义源,操作简单到扔给宿舍群后,所有人都直呼“真香”。今天就详细分享它的安装和使用方法,帮大家彻底告别换源烦恼。
一、chsrc 是什么?
chsrc 是一款跨 Windows、macOS、Linux 的全平台换源工具与框架,支持 Python(pip)、Node.js(npm/yarn)、Go(go mod)、Ruby(gem)、Docker、Homebrew 等数十种开发工具和包管理器。它的核心优势在于:
- 自动测速:内置多个优质镜像源,一键测试并切换到最快源;
- 操作极简:无需记忆复杂命令,统一语法实现所有工具换源;
- 灵活扩展:支持添加自定义镜像源(如自建反代源);
- 全平台兼容:Windows、macOS、Linux 无缝适配,无需区分系统差异。
项目地址:https://github.com/RubyMetric/chsrc
二、快速安装
1. Windows 系统(两种方式)
方式 1:通过 scoop 安装(推荐,快速便捷)
如果未安装 scoop(Windows 包管理器),先执行以下命令安装:
iwr -useb get.scoop.sh | iex
安装完成后,执行以下命令安装 chsrc:
scoop install chsrc
注意:scoop 可能存在更新延迟,若无法获取最新版本,可选择方式 2。
方式 2:直接下载二进制文件
通过 PowerShell 脚本一键下载最新版二进制文件:
"& { $(iwr -useb https://chsrc.run/windows) } -Version pre" | iex
2. macOS/Linux 系统
通过 curl 直接下载并安装(自动适配系统架构):
curl https://chsrc.run/posix | sudo bash
安装完成后,在终端输入 chsrc,若显示帮助信息,则说明安装成功。
三、核心用法
chsrc 的命令语法极其统一,核心格式为:
- 自动测速并切换最快源:
chsrc use <工具名> - 手动设置指定源:
chsrc set <工具名> <源地址> - 测试所有源速度:
chsrc test <工具名> - 查看可用源列表:
chsrc list <工具名> - 重置为默认源:
chsrc reset <工具名>
下面以 Python、Node.js、Go、Ruby 为例,详细演示日常使用场景。
1. Python(pip 换源)
场景 1:一键切换最快源
无需手动查找源地址,chsrc 会自动测试国内优质镜像源(如清华、阿里、豆瓣)并切换:
# Windows/macOS/Linux 通用命令
chsrc use python
执行后,工具会自动完成“检查 pip 是否存在 → 测试所有内置源速度 → 切换到最快源”的全流程,终端会显示测速结果和切换状态,全程无需手动干预。
场景 2:添加自定义源(如自建反代源)
若需使用特定镜像源(如公司内部自建源、速度更快的反代源),执行以下命令:
chsrc set python https://your.custom.pip.source
# 示例:使用公司自建源
chsrc set python https://pip.company.com/simple
场景 3:手动测速对比
想直观查看不同源的速度差异,可执行测速命令:
chsrc test python
终端会以列表形式展示所有内置源的响应时间(单位:毫秒),并高亮显示最快源,结果清晰易懂——实测发现,有时非知名源的速度反而超过清华、阿里源。
2. Node.js(npm/yarn 换源)
场景 1:一键切换最快 npm 源
# 切换 npm 最快源(自动适配 yarn)
chsrc use node
执行后,工具会自动配置 npm 的 registry 地址,同时兼容 yarn(若已安装 yarn,会同步更新 yarn 源),无需单独操作。
场景 2:设置自定义 npm 源
chsrc set node https://your.custom.npm.source
# 示例:使用淘宝 npm 镜像(手动指定)
chsrc set node https://registry.npmmirror.com
场景 3:测试 npm 源速度
chsrc test node
终端会展示所有内置 npm 源的测速结果,相比 Python 的源,npm 可用公共源数量较少,若你有优质公共源,可通过官方渠道贡献。
3. Go(go mod 换源)
Go mod 的默认源在国内访问较慢,且常出现拉取失败问题,chsrc 可一键切换到国内优质镜像源(如七牛云、阿里云)。
场景 1:一键切换最快源
# 自动测试并切换 go mod 最快源
chsrc use go
工具会自动配置 GOPROXY 环境变量,无需手动编辑系统环境变量,切换后立即生效(新终端窗口无需重启)。
场景 2:设置自定义 GOPROXY
chsrc set go https://your.custom.goproxy.source
# 示例:使用自建 GOPROXY 源
chsrc set go https://goproxy.company.com
场景 3:查看可用 Go 源列表
chsrc list go
终端会显示所有内置的 Go 镜像源,包括源地址、是否支持 HTTPS、是否包含代理缓存等信息,方便按需选择。
4. Ruby(gem 换源)
Ruby 的默认 gem 源在国内访问速度极慢,且容易出现连接超时,chsrc 可快速切换到国内镜像源(如 Ruby China)。
场景 1:一键切换最快源
# 自动测试并切换 gem 最快源
chsrc use ruby
执行后,工具会自动更新 gem 的源地址,替代默认的 https://rubygems.org/,后续执行 gem install 时速度会显著提升。
场景 2:设置自定义 gem 源
chsrc set ruby https://your.custom.gem.source
# 示例:使用 Ruby China 源(手动指定)
chsrc set ruby https://gems.ruby-china.com
场景 3:重置为默认 gem 源
若需恢复 Ruby 官方默认源,执行:
chsrc reset ruby
chsrc list
root@vortex5:~# chsrc list
指定使用某源,请使用 chsrc set <target> <code>
可用镜像站:
code 镜像站简写 镜像站URL 镜像站
--------- -------------- ------------------------------------- ---------------------
mirrorz MirrorZ https://mirrors.cernet.edu.cn/ 校园网联合镜像站(MirrorZ)
tuna TUNA https://mirrors.tuna.tsinghua.edu.cn/ 清华大学开源软件镜像站
sjtu-zy SJTUG-zhiyuan https://mirrors.sjtug.sjtu.edu.cn/ 上海交通大学致远镜像站
sjtu-sy SJTUG-siyuan https://mirror.sjtu.edu.cn/ 上海交通大学思源镜像站
bfsu BFSU https://mirrors.bfsu.edu.cn/ 北京外国语大学开源软件镜像站
ustc USTC https://mirrors.ustc.edu.cn/ 中国科学技术大学开源软件镜像
zju ZJU https://mirrors.zju.edu.cn/ 浙江大学开源软件镜像站
jlu JLU https://mirrors.jlu.edu.cn/ 吉林大学开源镜像站
lzu LZUOSS https://mirror.lzu.edu.cn/ 兰州大学开源社区镜像站
pku PKU https://mirrors.pku.edu.cn/ 北京大学开源镜像站
bjtu BJTU https://mirror.bjtu.edu.cn/ 北京交通大学自由与开源软件镜像站
sustech SUSTech https://mirrors.sustech.edu.cn/ 南方科技大学开源软件镜像站
nju NJU https://mirrors.nju.edu.cn/ 南京大学开源镜像站
xjtu XJTU https://mirrors.xjtu.edu.cn/ 西安交通大学软件镜像站
hust HUST https://mirrors.hust.edu.cn/ 华中科技大学开源镜像站
iscas ISCAS https://mirror.iscas.ac.cn/ 中科院软件所智能软件研究中心开源镜像站
hit HIT https://mirrors.hit.edu.cn/ 哈尔滨工业大学开源软件镜像站
scau SCAU https://mirrors.scau.edu.cn/ 华南农业大学开源软件镜像站
njtech NJTech https://mirrors.njtech.edu.cn/ 南京工业大学开源软件镜像站
nyist NYIST https://mirror.nyist.edu.cn/ 南阳理工学院开源软件镜像站
sdu SDU https://mirrors.sdu.edu.cn/ 山东大学镜像站
qlu QLU https://mirrors.qlu.edu.cn/ 齐鲁工业大学开源镜像站
cqupt CQUPT https://mirrors.cqupt.edu.cn/ 重庆邮电大学开源镜像站
cqu CQU https://mirrors.cqu.edu.cn/ 重庆大学开源软件镜像站
neosoft Neosoft https://mirrors.neusoft.edu.cn/ 大连东软信息学院开源镜像站
ali Ali OPSX Public https://developer.aliyun.com/mirror/ 阿里巴巴开源镜像站(公网)
tencent Tencent Public https://mirrors.tencent.com/ 腾讯软件源(公网)
huawei Huawei Cloud https://mirrors.huaweicloud.com/ 华为开源镜像站
huawei-cdn Huawei Cloud CDN https://repo.huaweicloud.com/ 华为开源镜像站(CDN)
volc Volcengine https://developer.volcengine.com/mirror/ 火山引擎开源软件镜像站(公网)
netease Netease https://mirrors.163.com/ 网易开源镜像站
sohu SOHU https://mirrors.sohu.com/ 搜狐开源镜像站
api7 api7.ai https://www.apiseven.com/ 深圳支流科技有限公司
fit2cloud FIT2CLOUD https://www.fit2cloud.com/ 杭州飞致云信息科技有限公司
daocloud DaoCloud https://www.daocloud.io/ 上海道客网络科技有限公司
rubychina RubyChina https://gems.ruby-china.com/ Ruby China 社区
emacschina EmacsChina https://elpamirror.emacs-china.org/ Emacs China 社区
npmmirror npmmirror https://npmmirror.com/ npmmirror (阿里云赞助)
goproxy.io GOPROXY.IO https://goproxy.io/ GOPROXY.IO
goproxy.cn Goproxy.cn https://goproxy.cn/ Goproxy.cn (七牛云)
rsproxycn RsProxy.cn https://rsproxy.cn/ 字节跳动基础架构Dev Infra
cfug CFUG https://flutter.cn/ Flutter 社区
支持对以下目标换源 (同一行表示这几个命令兼容)
编程语言
-------------------------
gem ruby rb rubygem rubygems bundler
python pypi py
pip
poetry
pdm
rye
uv
js javascript node nodejs
bun
npm
yarn
pnpm
nvm
perl cpan
php composer
lua luarocks
go golang goproxy
rust cargo crate crates
rustup
java maven mvn maven-daemon mvnd gradle
clojure clojars cloj lein
dart pub
flutter
nuget net .net dotnet
haskell cabal stack hackage
ocaml opam
r cran
julia
操作系统
-------------------------
ubuntu zorinos
linuxmint
debian
fedora
opensuse opensuse-leap opensuse-tumbleweed
kali
msys2 msys
arch archlinux
archlinuxcn archcn
manjaro
gentoo
rocky rockylinux
alma almalinux
alpine
voidlinux
solus
trisquel
linuxlite
ros ros2
raspi raspberrypi
armbian
openwrt opkg LEDE
termux
openkylin
openeuler
anolis openanolis
deepin
freebsd
netbsd
openbsd
软件
-------------------------
winget
brew homebrew
cocoa cocoapods cocoapod
docker dockerhub
flatpak flathub
nix
guix
emacs elpa
latex ctan tex texlive miktex tlmgr mpm
conda anaconda
四、总结
使用 chsrc 工具的优点在于,它可以显著提高开发效率。对于熟练用户,能够快速切换到最快的源和自定义源,从而节省大量时间。对于不熟悉命令行的用户,chsrc 提供了简单易用的基础命令,使得换源变得轻松,降低了操作门槛。如果你还在为换源抓狂,不妨试试 chsrc,它不会让你失望——毕竟,开发的时间应该用在核心业务上,而不是浪费在环境配置上。
原文 https://blog.csdn.net/2301_79518550/article/details/143653554