有時候我們在某些環境下(比如墻內或公司內網)可能不能正常使用 git/npm/bower/gem 等各種工具, 解決辦法有:
- 切換鏡像
- 使用代理
- 使用五姑娘
不同工具設置的語法略有偏頗, 總結如下.
使用鏡像
npm/bower/gem 等如果可以通過切換鏡像來解決的話, 則不用設置代理.
不知道有哪些鏡像資源, 則 Google 之. 以下的 < registry url > 指的就是鏡像的 url, 比如 http://registry.npm.taobao.org/
npm
設置全局使用指定的鏡像:
$ npm config set registry < registry url >
或者在安裝時才指定:
$ npm install --registry < registry url >
當然, 每次都要輸入那么長串的 registry url 的話, 實在太麻煩, 可以使用 nrm 這個模塊來切換鏡像:
// 全局安裝
$ npm install -g nrm
// 查看有哪些鏡像
$ nrm ls
// 對比各個鏡像的訪問速度
$ nrm test
// 使用淘寶的鏡像
$ nrm use taobao
gem
$ gem source -r <registry url>
gem 除了使用鏡像以外, 還可以直接到官網下載需要的包, 然后在本地安裝,
比如我們要安裝 sass, 先到這里 把 sass 下載到本地, 然后在本地安裝:
// 注意這里的 sass.gem 是下載到本地的包名
$ gem install --local sass.gem
使用代理
鏡像不能用, 那就使用代理吧.
假定公司提供的代理為 http://proxy.mysite.com:8080
給命令行統一設置代理
-
windows
$ set http_proxy=http://proxy.mysite.com:8080
// 如果有要求用戶名密碼則輸入:
$ set http_proxy_user=< username >
$ set http_proxy_pass=< password >
若不想每次都手動設置, 則可以設置到系統的環境變量中
右擊計算機–>屬性–>高級–>環境變量–>系統變量,設置系統變量
-
mac
$ sudo networksetup -setwebproxy "Ethernet" http://proxy.mysite.com 8000
git
設置:
$ git config --global http.proxy http://proxy.mysite.com:8080
取消:
$ git config --global --unset http.proxy
npm
設置:
$ npm config set proxy=http://proxy.mysite.com:8080
取消:
$ npm config delete proxy
bower
設置:
修改 .bowerrc 文件(如無則新增):
{
"proxy": "http://proxy.mysite.com:8080",
"https-proxy": "http://proxy.mysite.com:8080"
}
取消:
刪除 .bowerrc 里對應的配置即可
gem
比如我們要安裝 sass
設置:
安裝時加上 --http-proxy 參數
$ gem install --http-proxy http://proxy.mysite.com:8080 sass
取消:
安裝時不加上 --http-proxy 參數
$ gem install sass
使用五姑娘
不能使用鏡像, 又不能使用代理, 一般這個時候我們都會先哭一下, 然后選擇離開這個行業, 去賣燒餅或者紅薯什么的.
如果還對生活有希望的話, 那就使用我們勤勞的右手:
在外網中, 下載好需要的東東, 拷貝到受限的機子...