開發(fā)人員常用的國(guó)內(nèi)鏡像倉(cāng)庫(kù)

awesome-mirrors.jpg

本文如果對(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ì)生效。

除了阿里云的源,還有一些其他的源可以參考:

  1. https://registry.docker-cn.com
  2. http://hub-mirror.c.163.com
  3. http://docker.mirrors.ustc.edu.cn
  4. 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

除了淘寶的源,還有一些其他的源可以參考:

  1. http://crproxy.trafficmanager.net:4873

另外,可以通過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

除了阿里云的源,還有一些其他的源可以參考:

  1. https://pypi.tuna.tsinghua.edu.cn/simple
  2. https://pypi.mirrors.ustc.edu.cn/simple
  3. https://pypi.douban.com/simple
  4. 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ù)之外,阿里云還提供一些其他的源:

  1. central https://maven.aliyun.com/repository/central
  2. jcenter https://maven.aliyun.com/repository/public
  3. public https://maven.aliyun.com/repository/public
  4. google https://maven.aliyun.com/repository/google
  5. gradle-plugin https://maven.aliyun.com/repository/gradle-plugin
  6. spring https://maven.aliyun.com/repository/spring
  7. spring-plugin https://maven.aliyun.com/repository/spring-plugin
  8. grails-core https://maven.aliyun.com/repository/grails-core
  9. 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

除了阿里云的源,還有一些其他的源可以參考:

  1. https://goproxy.cn
  2. https://goproxy.io

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

這樣你不用改你的Gemfilesource

source 'https://rubygems.org/'
gem 'rails', '4.2.5'
...

除了Ruby China的源,還有一些其他的源可以參考:

  1. https://mirrors.aliyun.com/rubygems
  2. https://mirrors.tuna.tsinghua.edu.cn/rubygems
  3. https://mirrors.ustc.edu.cn/rubygems
  4. 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

除了阿里云的源,還有一些其他的源可以參考:

  1. 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

除了阿里云的源,還有一些其他的源可以參考:

  1. https://mirrors.tuna.tsinghua.edu.cn/help/centos
  2. http://mirrors.ustc.edu.cn/help/centos.html
  3. 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

除了阿里云的源,還有一些其他的源可以參考:

  1. https://mirrors.tuna.tsinghua.edu.cn/help/debian
  2. http://mirrors.ustc.edu.cn/help/debian.html

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

除了阿里云的源,還有一些其他的源可以參考:

  1. https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu
  2. http://mirrors.ustc.edu.cn/help/ubuntu.html
  3. 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_profileHOMEBREW_BOTTLE_DOMAIN行刪掉, 并執(zhí)行source ~/.bash_profile

除了阿里云的源,還有一些其他的源可以參考:

  1. https://mirrors.tuna.tsinghua.edu.cn/help/homebrew
  2. http://mirrors.ustc.edu.cn/help/brew.git.html

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é)的源,還有一些其他的源可以參考:

  1. https://gitclub.cn/CocoaPods/Specs.git
  2. http://git.oschina.net/akuandev/Specs.git
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過簡(jiǎn)信或評(píng)論聯(lián)系作者。

友情鏈接更多精彩內(nèi)容