// Windows · 2024-11-09

告别换源抓狂!chsrc 全平台一键换源工具(python,go,nodejs,ruby)

作为开发者,配置开发环境时的“换源噩梦”几乎人人都经历过:网上搜到的镜像源要么失效无法使用,要么切换步骤繁琐,不同语言、工具的换源命令五花八门,更让人头疼的是,根本不知道哪个源速度最快,往往在反复测试中浪费大量时间。前几天偶然发现了一款全平台通用的换源工具 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