【工具】常用环境代理设置

2,681 阅读1分钟

nvm (node)

命令式

nvm node_mirror http://npm.taobao.org/mirrors/node/
nvm npm_mirror https://npm.taobao.org/mirrors/npm/

手动式

程序根目录下settings.txt追加两行

node_mirror: http://npm.taobao.org/mirrors/node/
npm_mirror:https://npm.taobao.org/mirrors/npm/

npm (node)

命令式

npm config set registry https://registry.npm.taobao.org
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
npm config set phantomjs_cdnurl https://npm.taobao.org/mirrors/phantomjs/
npm config set electron_mirror https://npm.taobao.org/mirrors/electron/
npm config set electron_custom_dir "{{ version }}"

注:后3个是由于 安装 node-sass 的正确姿势

手动式

~/.npmrc 追加

registry=https://registry.npm.taobao.org
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
phantomjs_cdnurl=https://npm.taobao.org/mirrors/phantomjs/
electron_mirror=https://npm.taobao.org/mirrors/electron/
electron_custom_dir={{ version }}

注:项目下 .npmrc 覆盖全局配置 ~/.npmrc

验证

npm config list

yarn (node)

命令式

yarn config set registry https://registry.npm.taobao.org
yarn config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
yarn config set phantomjs_cdnurl https://npm.taobao.org/mirrors/phantomjs/
yarn config set electron_mirror https://npm.taobao.org/mirrors/electron/
yarn config set electron_custom_dir "{{ version }}"

手动式

~/.yarnrc 追加

registry "https://registry.npm.taobao.org"
sass_binary_site "https://npm.taobao.org/mirrors/node-sass/"
phantomjs_cdnurl "https://npm.taobao.org/mirrors/phantomjs/"
electron_mirror "https://npm.taobao.org/mirrors/electron/"
electron_custom_dir "{{ version }}"

注:项目下 .yarnrc 覆盖全局配置 ~/.yarnrc 。格式与.npmrc不一样,请注意

验证

yarn config list

pip (python)

命令式

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

手动式

系统差异,略

验证

pip config list

maven (java)

手动下载的

maven-repo-settings-ali.xml ,粘贴到程序根目录下conf\settings.xml (55行处为本地仓库路径,按需修改)

idea内置的maven

idea
使用上述链接的文件覆盖默认设置

注:idea项目级配置 .idea/ 覆盖全局配置,已有项目记得再次检查设置

gradle (java)

全局

~\.gradle\init.gradle 修改为

allprojects{
    repositories {
        def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'
        def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
        all { ArtifactRepository repo ->
            if(repo instanceof MavenArtifactRepository){
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
                    remove repo
                }
                if (url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
                    remove repo
                }
            }
        }
        maven {
            url ALIYUN_REPOSITORY_URL
            url ALIYUN_JCENTER_URL
        }
    }
}

项目级

build.gradle 中形如

buildscript {
    repositories {
        maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
        maven{ url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
        google()
        jcenter()
    }
}

allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
        maven{ url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
        google()
        jcenter()
    }
}

golang

非module方式自行大展神通。

使用 goproxy.cn 镜像

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

# 另一个源:
# go env -w GOPROXY=https://goproxy.io,direct