
本文如果對(duì)你有幫助請(qǐng)幫忙Star一下,以幫助更多的人。
由于眾所周知的原因,中國(guó)的開發(fā)者在下載各種依賴的時(shí)候速度都比較慢。因此部分有實(shí)力的高校、公司在國(guó)內(nèi)搭建了方便開發(fā)者的各種鏡像倉(cāng)庫(kù),并且?guī)缀醵际呛蛧?guó)外的源定時(shí)同步的。本倉(cāng)庫(kù)主要收集方便中國(guó)開發(fā)者提速的源,以及配置的方式。
下面的操作方式在不同的系統(tǒng)可能會(huì)有細(xì)微的差別,歡迎大家補(bǔ)充和糾正。
目錄
Docker
首先從網(wǎng)上搜索國(guó)內(nèi)的docker registry源,然后修改docker的配置并重啟docker。在這里我比較推薦使用免費(fèi)的阿里云鏡像加速器(至少截至2020年09月03日還是免費(fèi)的),目前使用一直比較平穩(wěn)。
- 獲取鏡像加速url
注冊(cè)一個(gè)阿里云賬號(hào)并登錄,在產(chǎn)品與服務(wù)中搜索容器鏡像服務(wù),跟隨引導(dǎo)完成必要的一些步驟,然后來(lái)到這個(gè)頁(yè)面,就可以看到自己專有的加速器地址了。
- 給docker客戶端配置鏡像加速器
這里以MacOS為例,其他系統(tǒng)類似。如果沒有/etc/docker/daemon.json文件,則可以直接通過下面的命令完成配置;如果該文件已經(jīng)存在了,則選擇自己熟悉的文本編輯器編輯該文件,添加加速器地址的配置。如果你使用的帶界面的客戶端,也可以在Preferences... -> Docker Engine顯示的編輯器中添加相應(yīng)的配置。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
}
EOF
注意:將https://xxx.mirror.aliyuncs.com替換成你自己的鏡像加速器地址。再次提醒,配置完成后,重啟docker之后才會(huì)生效。
除了阿里云的源,還有一些其他的源可以參考:
- https://registry.docker-cn.com
- http://hub-mirror.c.163.com
- http://docker.mirrors.ustc.edu.cn
- http://mirror.azure.cn/help/docker-registry-proxy-cache.html
Nodejs
下面是NPM的配置方式,以淘寶的源為例。
- 臨時(shí)使用
# 為單用戶安裝
npm install --registry https://registry.npm.taobao.org <package-name>
#為所有用戶安裝
npm install --global --registry https://registry.npm.taobao.org <package-name>
# yarn
yarn save <package-name> --registry https://registry.npm.taobao.org
- 默認(rèn)使用
# npm
npm set registry https://registry.npm.taobao.org
# yarn
yarn config set registry https://registry.npm.taobao.org
除了淘寶的源,還有一些其他的源可以參考:
另外,可以通過nrm管理多個(gè)NPM的源,相應(yīng)的yarn也有yrm。
Python
PyPI (Python Package Index) 是 Python 編程語(yǔ)言的軟件存儲(chǔ)庫(kù)。開發(fā)者可以通過 PyPI 查找和安裝由 Python 社區(qū)開發(fā)和共享的軟件,也可以將自己開發(fā)的庫(kù)上傳至 PyPI 。這里以阿里云的源為例。
- 臨時(shí)使用
pip install -i https://mirrors.aliyun.com/pypi/simple <package-name>
注意,simple 不能少, 是 https 而不是 http
- 默認(rèn)使用
升級(jí) pip 到最新的版本 (>=10.0.0) 后進(jìn)行配置:
pip install pip -U
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
除了阿里云的源,還有一些其他的源可以參考:
- https://pypi.tuna.tsinghua.edu.cn/simple
- https://pypi.mirrors.ustc.edu.cn/simple
- https://pypi.douban.com/simple
- http://mirror.azure.cn/pypi/simple
Anaconda的配置方式可以參考清華大學(xué)的Anaconda鏡像使用幫助
Java
- Maven 配置
打開 Maven 的配置文件(windows機(jī)器一般在maven安裝目錄的conf/settings.xml),在<mirrors></mirrors>標(biāo)簽中添加 mirror 子節(jié)點(diǎn):
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共倉(cāng)庫(kù)</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
如果想使用其它代理倉(cāng)庫(kù),可在<repositories></repositories>節(jié)點(diǎn)中加入對(duì)應(yīng)的倉(cāng)庫(kù)使用地址。以使用spring代理倉(cāng)為例:
<repository>
<id>spring</id>
<url>https://maven.aliyun.com/repository/spring</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
- gradle 配置
在 build.gradle 文件中加入以下代碼:
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/public/' }
mavenLocal()
mavenCentral()
}
}
如果想使用 maven.aliyun.com 提供的其它代理倉(cāng),以使用 spring 倉(cāng)為例,代碼如下:
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/spring/'}
mavenLocal()
mavenCentral()
}
}
除了Spring的倉(cāng)庫(kù)之外,阿里云還提供一些其他的源:
- central https://maven.aliyun.com/repository/central
- jcenter https://maven.aliyun.com/repository/public
- public https://maven.aliyun.com/repository/public
- google https://maven.aliyun.com/repository/google
- gradle-plugin https://maven.aliyun.com/repository/gradle-plugin
- spring https://maven.aliyun.com/repository/spring
- spring-plugin https://maven.aliyun.com/repository/spring-plugin
- grails-core https://maven.aliyun.com/repository/grails-core
- apache snapshots https://maven.aliyun.com/repository/apache-snapshots
Goproxy
使用go1.11以上版本并開啟go module機(jī)制,下面以阿里云的源為例:
export GO111MODULE=on
export GOPROXY=https://mirrors.aliyun.com/goproxy
除了阿里云的源,還有一些其他的源可以參考:
Ruby
這里以配置Ruby China的源為例:
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
Bundler用戶參考如下配置:
bundle config mirror.https://rubygems.org https://gems.ruby-china.com
這樣你不用改你的Gemfile的source。
source 'https://rubygems.org/'
gem 'rails', '4.2.5'
...
除了Ruby China的源,還有一些其他的源可以參考:
- https://mirrors.aliyun.com/rubygems
- https://mirrors.tuna.tsinghua.edu.cn/rubygems
- https://mirrors.ustc.edu.cn/rubygems
- http://mirror.azure.cn/rubygems
Alpine apk
Alpine Linux 是一個(gè)面向安全,輕量級(jí)的基于musl libc與busybox項(xiàng)目的Linux發(fā)行版。
下面以配置阿里云的源作為例子:
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
除了阿里云的源,還有一些其他的源可以參考:
- dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn
Centos yum
CentOS,是基于 Red Hat Linux 提供的可自由使用源代碼的企業(yè)級(jí) Linux 發(fā)行版本;是一個(gè)穩(wěn)定,可預(yù)測(cè),可管理和可復(fù)制的免費(fèi)企業(yè)級(jí)計(jì)算平臺(tái)。
更換源之前,建議先備份一下,下面以阿里云的源為例:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下載阿里云的源:
# Centos 6
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-6.repo
# Centos 7
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# Centos 8
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
生成緩存:
yum makecache
注意: 非阿里云ECS用戶會(huì)出現(xiàn) Couldn't resolve host 'mirrors.cloud.aliyuncs.com'信息,不影響使用。用戶也可自行修改相關(guān)配置:
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
除了阿里云的源,還有一些其他的源可以參考:
- https://mirrors.tuna.tsinghua.edu.cn/help/centos
- http://mirrors.ustc.edu.cn/help/centos.html
- http://mirror.azure.cn/help/centos.html
Debian apt
Debian GNU/Linux ,是一個(gè)操作系統(tǒng)及自由軟件的發(fā)行版,由一群自愿付出時(shí)間和精力的用戶來(lái)維護(hù)并更新。它附帶了超過 59000 個(gè)軟件包,這些預(yù)先編譯好的軟件被打包成一種良好的格式以便于用戶安裝和使用。
下面以阿里云的源為例:
debian 7.x (wheezy)
編輯/etc/apt/sources.list文件(需要使用sudo), 在文件最前面添加以下條目(操作前請(qǐng)做好相應(yīng)備份)
deb http://mirrors.aliyun.com/debian/ wheezy main non-free contrib
deb http://mirrors.aliyun.com/debian/ wheezy-proposed-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ wheezy main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ wheezy-proposed-updates main non-free contrib
debian 8.x (jessie)
編輯/etc/apt/sources.list文件(需要使用sudo), 在文件最前面添加以下條目(操作前請(qǐng)做好相應(yīng)備份)
deb http://mirrors.aliyun.com/debian/ jessie main non-free contrib
deb http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ jessie main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib
debian 9.x (stretch)
編輯/etc/apt/sources.list文件(需要使用sudo), 在文件最前面添加以下條目(操作前請(qǐng)做好相應(yīng)備份)
deb http://mirrors.aliyun.com/debian/ stretch main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ stretch main non-free contrib
deb http://mirrors.aliyun.com/debian-security stretch/updates main
deb-src http://mirrors.aliyun.com/debian-security stretch/updates main
deb http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib
deb http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib
除了阿里云的源,還有一些其他的源可以參考:
Ubuntu apt
Ubuntu,是一款基于 Debian Linux 的以桌面應(yīng)用為主的操作系統(tǒng),內(nèi)容涵蓋文字處理、電子郵件、軟件開發(fā)工具和 Web 服務(wù)等,可供用戶免費(fèi)下載、使用和分享。
下面以阿里云的源為例:
用你熟悉的編輯器打開/etc/apt/sources.list,替換默認(rèn)的http://archive.ubuntu.com/為mirrors.aliyun.com。
ubuntu 16.04 配置如下
deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
ubuntu 18.04(bionic) 配置如下
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
ubuntu 20.04(focal) 配置如下
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
除了阿里云的源,還有一些其他的源可以參考:
- https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu
- http://mirrors.ustc.edu.cn/help/ubuntu.html
- http://mirror.azure.cn/help/ubuntu.html
Homebrew
Homebrew 是一款自由及開放源代碼的軟件包管理系統(tǒng),用以簡(jiǎn)化 macOS 系統(tǒng)上的軟件安裝過程。它擁有安裝、卸載、更新、查看、搜索等很多實(shí)用的功能,通過簡(jiǎn)單的一條指令,就可以實(shí)現(xiàn)包管理,十分方便快捷。
下面以阿里云的源為例:
| 名稱 | 說明 |
|---|---|
| brew | Homebrew 源代碼倉(cāng)庫(kù) |
| homebrew-core | Homebrew 核心源 |
| homebrew-cask | 提供 macOS 應(yīng)用和大型二進(jìn)制文件的安裝 |
| homebrew-bottles | 預(yù)編譯二進(jìn)制軟件包 |
- Bash 終端配置
# 替換brew.git:
cd "$(brew --repo)"
git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
# 替換homebrew-core.git:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
# 應(yīng)用生效
brew update
# 替換homebrew-bottles:
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile
- 恢復(fù)默認(rèn)配置
出于某些場(chǎng)景, 可能需要回退到默認(rèn)配置, 你可以通過下述方式回退到默認(rèn)配置。
首先執(zhí)行下述命令:
# 重置brew.git:
cd "$(brew --repo)"
git remote set-url origin https://github.com/Homebrew/brew.git
# 重置homebrew-core.git:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://github.com/Homebrew/homebrew-core.git
然后刪掉 HOMEBREW_BOTTLE_DOMAIN 環(huán)境變量,將你終端文件~/.bash_profile中HOMEBREW_BOTTLE_DOMAIN行刪掉, 并執(zhí)行source ~/.bash_profile。
除了阿里云的源,還有一些其他的源可以參考:
iOS
CocoaPods 是一個(gè) Cocoa 和 Cocoa Touch 框架的依賴管理器,具體原理和 Homebrew 有點(diǎn)類似,都是從 GitHub 下載索引,然后根據(jù)索引下載依賴的源代碼。
下面以清華大學(xué)的源為例:
對(duì)于舊版的 CocoaPods 可以使用如下方法使用 tuna 的鏡像:
$ pod repo remove master
$ pod repo add master https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git
$ pod repo update
新版的 CocoaPods 不允許用pod repo add直接添加master庫(kù)了,但是依然可以:
$ cd ~/.cocoapods/repos
$ pod repo remove master
$ git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master
最后進(jìn)入自己的工程,在自己工程的podFile第一行加上:
source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
注意: 從1.7.2開始,已經(jīng)完全切到CDN上了。1.8以上甚至把CDN作為默認(rèn)源使用,在Podfile最上面添加即可。
source 'https://cdn.cocoapods.org/'
除了清華大學(xué)的源,還有一些其他的源可以參考: