Ferramentas de gerenciamento de pacotes com espelhos na China: npm, pip, yarn, Docker, Go e distribuições Linux

Configuração de espelhos locais para ferramentas de gerenciamento de pacotes

Este guia fornece instruções atualizadas para configurar espelhos nacionais (China) em diversas ferramentas de gerenciamento de dependências. Espelhos locais melhoram significativamente a velocidade de download ao substituir servidores internacionais por réplicas locais mantidas por instituições confiáveis.

npm (Node.js Package Manager)

O npm pode ter sua origem padrão alterada temporária ou permanentemente:

# Verificar o repositório atual
npm config get registry

# Definir espelho da Taobao
npm config set registry https://registry.npmmirror.com/

# Confirmar mudança
npm config get registry

Nota: O domínio npmmirror.com é o sucessor oficial do antigo npm.taobao.org, que foi descontinuado.

yarn

A configuração do yarn é semelhante à do npm:

# Verificar fonte atual
yarn config get registry

# Usar espelho Taobao
yarn config set registry https://registry.npmmirror.com/

# Aplicar mudança
yarn config get registry

pip (Python)

A instalação de pacotes Python pode ser acelerada com espelhos locais. A configuração varia conforme o sistema opearcional.

No Windows:

mkdir %APPDATA%\pip
notepad %APPDATA%\pip\pip.ini

Inserir no arquivo:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn

Em sistemas Unix (Linux/macOS):

mkdir -p ~/.pip
nano ~/.pip/pip.conf

Conteúdo do arquivo:

[global]
index-url = https://pypi.mirrors.ustc.edu.cn/simple
trusted-host = pypi.mirrors.ustc.edu.cn

Go Modules

Para acelerar downloads de módulos Go, defina o proxy global:

# Método recomendado (persistente)
go env -w GOPROXY=https://goproxy.cn,direct

# Alternativa via variável de ambiente (Unix)
export GOPROXY="https://goproxy.cn"

# No Windows (PowerShell)
$Env:GOPROXY="https://goproxy.cn"

Docker

Para usar um espelho ao baixar imagens do Docker Hub:

# Criar ou editar o arquivo de configuração do daemon
sudo tee /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
EOF

# Reiniciar o serviço Docker
sudo systemctl restart docker

# Verificar se o espelho está ativo
docker info | grep -i mirror

Sistemas Linux

Ubuntu

Substitua os repositórios oficiais pelo espelho da Universidade de Ciência e Tecnologia da China (USTC):

# Fazer backup do arquivo original
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

# Editar lista de repositórios
sudo nano /etc/apt/sources.list

Insira as linhas abaixo (ajuste conforme sua versão do Ubuntu):

deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse

# Atualizar cache de pacotes
sudo apt update

CentOS

Substitua o repositório padrão pelo da Alibaba Cloud:

# Backup do repositório original
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

# Baixar nova configuração (ex: CentOS 7)
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# Limpar cache e regerar metadados
sudo yum clean all
sudo yum makecache

Espelhos alternativos disponíveis

Lista de opções adicionais caso algum espelho principal esteja indisponível.

npm e yarn

pip

Go Modules

Docker Registries

Repositórios Linux

Ubuntu

  • Tsinghua: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/
  • Aliyun: https://mirrors.aliyun.com/ubuntu/
  • 163: http://mirrors.163.com/ubuntu/

CentOS

Dica avançada: Uso de proxy em vez de troca de espelho

Se você já possui um proxy configurado localmente (como V2Ray, Clash, etc.), pode redirecionar o tráfego HTTPS diretamente:

# No Linux/macOS
export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890

# No Windows (PowerShell)
$Env:https_proxy="http://127.0.0.1:7890"
$Env:http_proxy="http://127.0.0.1:7890"

Essa abordagem evita a necessidade de modificar configurações individuais de cada ferramenta, sendo ideal para ambientes com acesso internacional estável via proxy.

Tags: npm YARN pip Docker go-modules

Publicado em 9-16 14:48