vue.config.js配置代理不生效_iMac各种代理设置方法汇总
寫在前面
由于各種各樣的墻的原因,導(dǎo)致日常開發(fā)中我們會(huì)遇到各種各樣的因?yàn)榫W(wǎng)絡(luò)的問題導(dǎo)致的不能訪問、超時(shí)等問題。每次遇到都會(huì)去查一遍,很是費(fèi)時(shí),今天專門總結(jié)匯總一下。由于考慮到需要不停的切斷是否使用,因此這里不再介紹設(shè)備全局代理的設(shè)置方式。
對(duì)于Mac環(huán)境,我們大部分時(shí)間都是使用命令行,因此代理配置相關(guān)的主要就是關(guān)于shell的代理配置。很奇怪shell命令行下配置的代理僅僅對(duì)shell相關(guān)的部分命令(例如wget等)生效,不是對(duì)整個(gè)機(jī)器生效(例如npm等還是要使用專門的代理)。當(dāng)然也有可能由于公司網(wǎng)絡(luò)異常復(fù)雜,因此會(huì)有各種代理配置,是別的代理配置的問題,引起代理在部分命令下沒有生效。不管是什么原因,這里都總結(jié)一下相關(guān)命令的代理配置。
shell下的代理配置
配置方法
shell的網(wǎng)絡(luò)代理有兩種方法,一種是直接通過命令行配置,一種是直接設(shè)置在配置文件,在終端啟動(dòng)時(shí)自動(dòng)加載。兩種方法都是使用export設(shè)置環(huán)境變量的方式來實(shí)現(xiàn),方法一致:
# 配置生效export http_proxy='http://proxy.com:8080';
export https_proxy='http://proxy.com:8080';
# 刪除配置
export http_proxy='';
export https_proxy='';
命令行配置事例
通過命令行可以完成網(wǎng)絡(luò)代理的切換,包括代理添加、刪除代理以及修改代理。具體事例如下
# 添加? temp export http_proxy='http://proxy.com:8080';
? temp export https_proxy='http://proxy.com:8080';
# 查看
? temp echo $http_proxy $https_proxy
http://proxy.com:8080 http://proxy.com:8080
# 修改
? temp export https_proxy='http://test-proxy.com:8080';
# 查看
? temp echo $http_proxy $https_proxy
http://dev-proxy.oa.com:8080 http://test-proxy.com:8080
# 刪除
? temp export http_proxy='';
? temp echo $http_proxy $https_proxy
http://dev-proxy.oa.com:8080
? temp export https_proxy='';
? temp echo $http_proxy $https_proxy
? temp
shell環(huán)境變量配置事例
如果是在環(huán)境變量中設(shè)置對(duì)應(yīng)的參數(shù),一般都是默認(rèn)添加代理,然后當(dāng)需要取消代理的時(shí)候再通過命令行使配置不生效。之所以已經(jīng)有命令行的情況下還提供環(huán)境變量的設(shè)置是因?yàn)榄h(huán)境變量的配置會(huì)在每次shell終端啟動(dòng)時(shí)自動(dòng)加載,因此不需要每次配置。目前個(gè)人使用的shell為zsh,因此以zsh的配置來說明。打開zsh的配置文件(默認(rèn)為~/.zshrc),然后添加上面的代理配置即可,事例如下:
? temp tail ~/.zshrcexport FixVersion=0
export BuildNo=11
export SVN_REVISION=100
export https_proxy='http://proxy.com:8080';
export http_proxy='http://proxy.com:8080';
Android Studio 下的代理配置
Android開發(fā)中我們會(huì)用到兩種模式,一種是直接IDE編譯運(yùn)行,一種是直接在命令行運(yùn)行,兩種場(chǎng)景下的代理配置并不一致。其中在命令行下運(yùn)行時(shí)的代理配置與shell下的一致,因此不再專門介紹,僅僅介紹IDE的環(huán)境變量配置。
Android studio提供了IDE全局的環(huán)境變量的配置模式,就在 Appearance & Behavior > System Settings > HTTP Proxy 中,由于這個(gè)配置是全局的,因此開發(fā)中并不是很方便,主要表現(xiàn)在:
- 不同的項(xiàng)目可能不一定需要配置代理,或者需要的代理并不一致
- 如果項(xiàng)目有多個(gè)開發(fā)者,每個(gè)開發(fā)者都需要配置一次
因此個(gè)人更多的都是直接修改項(xiàng)目相關(guān)的配置文件來設(shè)置項(xiàng)目相關(guān)的代理。具體的就是在項(xiàng)目的根目錄的gradle.properties中添加如下的配置:
systemProp.http.proxyHost='proxy.com'systemProp.http.proxyPort='8080'
# 過濾不使用代理的域名
systemProp.http.nonProxyHosts=*.bihe0832.com
systemProp.https.proxyHost='proxy.com'
systemProp.https.proxyPort='8080'
# 過濾不使用代理的域名
systemProp.https.nonProxyHosts=*.bihe0832.com
這里需要注意的是,很多android的maven依賴都是使用https的,因此不要僅僅配置http相關(guān)的代理,需要同時(shí)配置https的
pip 代理設(shè)置
正如前面提到的,在某些情況下會(huì)出現(xiàn)shell配置了代理,但是并沒有生效的情況。例如pip,這里介紹一下pip設(shè)置代理的方法,比如我們安裝Appium-Python-Client。
代理設(shè)置
如果在安裝時(shí)需要代理,只需要在命令參數(shù)中加上--proxy參數(shù),例如:
? temp pip3.7 install Appium-Python-Client --proxy http://127.0.0.1:8080如果在安裝時(shí)不需要代理,只需要在命令參數(shù)中去除--proxy參數(shù),例如:
? temp pip3.7 install Appium-Python-Client修改pip的鏡像源
由于國(guó)外官方pypi經(jīng)常被墻,所以我們最好是將自己使用的pip源更換一下。iMac下,修改 ~/.pip/pip.conf (沒有就創(chuàng)建一個(gè))內(nèi)容如下:
[global]index-url = https://pypi.tuna.tsinghua.edu.cn/simple
gem 代理設(shè)置
正如前面提到的,在某些情況下會(huì)出現(xiàn)shell配置了代理,但是并沒有生效的情況。例如gem,這里介紹一下gem設(shè)置代理的方法,比如我們安裝github-pages。
代理設(shè)置
如果在安裝時(shí)需要代理,只需要在命令參數(shù)中加上--http-proxy參數(shù),例如:
? temp gem install --http-proxy http://proxy.com:8080 github-pages如果在安裝時(shí)不需要代理,只需要在命令參數(shù)中去除--http-proxy參數(shù),例如:
? temp gem install github-pages修改鏡像
除了通過配置代理來訪問資源外,我們還可以通過直接修改gem的鏡像源地址。這樣即使不用代理也可訪問。gem源的修改方法如下:
? temp gem source --add --remove具體示例如下:
? temp gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/? temp gem sources -l
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/universal-darwin17/rbconfig.rb:214: warning: Insecure world writable dir /Users/hardyshi/lib/android-sdk in PATH, mode 040777
*** CURRENT SOURCES ***
https://gems.ruby-china.org
如果修改鏡像,建議只保留一個(gè)即可,其余的都刪除,然后根據(jù)剩余的鏡像確定是否使用代理,這樣會(huì)大大提升效率。你也可以直接修改~/.gemrc,添加鏡像源。示例如下:
? ~ cat ~/.gemrc---
:backtrace: false
:bulk_threshold: 1000
:sources:
- https://gems.ruby-china.com/
:update_sources: true
:verbose: true
本地安裝
當(dāng)然,gem除了設(shè)置代理或者直接修改鏡像以外, 還可以直接本地安裝,比如我們要安裝 github-pages, 先到 https://gems.ruby-china.org 或者其余鏡像源把 ?github-pages 下載到本地, 然后在本地安裝:
? temp gem install --local ~/temp/github-pages-localname.gemnpm 代理設(shè)置
npm和gem一樣,也有兩種方法,切換鏡像或者設(shè)置代理,這里逐個(gè)介紹一下:
代理設(shè)置
如果在安裝時(shí)需要代理,只需安裝前配置中設(shè)置代理,安裝后再刪除即可。例如:
? temp npm config set proxy=http://proxy.com:8080? temp npm install --global vue-cli
如果在安裝后如果不需要代理,只需要配置中刪除代理即可:
? temp npm config delete proxy修改鏡像
修改指定路徑
除了通過配置代理來訪問資源外,npm也可以修改鏡像源地址。修改方法如下:
? temp npm config set registry < new registry url >具體示例如下:
? temp npm config set registry https://registry.npm.taobao.org擇優(yōu)修改路徑
當(dāng)然你也可以選擇官方提供的工具來選擇最優(yōu)路徑:首先安裝npm registry的管理工具nrm:
? temp npm install -g nrm
npm WARN deprecated coffee-script@1.7.1: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
/usr/local/bin/nrm -> /usr/local/lib/node_modules/nrm/cli.js
/usr/local/lib
└── nrm@1.0.2只有就可以使用nrm來查看有哪些鏡像:
? temp nrm ls
* npm ---- https://registry.npmjs.org/
cnpm --- http://r.cnpmjs.org/
taobao - https://registry.npm.taobao.org/
nj ----- https://registry.nodejitsu.com/
rednpm - http://registry.mirror.cqupt.edu.cn/
npmMirror https://skimdb.npmjs.com/registry/
edunpm - http://registry.enpmjs.org/然后使用nrm和鏡像的別名就可以切換鏡像的地址:
? temp nrm use taobao
Registry has been set to: https://registry.npm.taobao.org/其實(shí)nrm還給我們提供了測(cè)速工具來測(cè)試當(dāng)前網(wǎng)絡(luò)到所有鏡像地址的訪問耗時(shí),我們可以結(jié)合測(cè)速結(jié)果選擇更優(yōu)的鏡像地址:
? temp nrm test
npm ---- 403ms
cnpm --- 219ms
* taobao - 350ms
nj ----- Fetch Error
rednpm - 115ms
npmMirror 1169ms
edunpm - 220ms
賬號(hào)內(nèi)容均來自個(gè)人博客,想了解更多資料或跳轉(zhuǎn)到文中鏈接,可以點(diǎn)擊
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的vue.config.js配置代理不生效_iMac各种代理设置方法汇总的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 边缘计算架构_边缘计算架构梳理
- 下一篇: 没有找到合适的方法来重写_玻璃片价格太高