前端命令行工具代理设置

npm

在开发过程中,有时候需要安装墙外一些包文件,前端常用的包管理工具有node/bower/sass,以及需要git发布内容,解决方案一般有三种:

  • 使用国内镜像
  • 设置代理
  • 本地安装

国内镜像

使用国内镜像的好处是省去搭建梯子的过程,利用国内连接速度优势,快速下载

NPM

使用淘宝镜像 https://registry.npm.taobao.org

安装时启用

1
npm install --registry=https://registry.npm.taobao.org

设置全局镜像

1
npm config set registry < registry url >

使用CNPM

cnpm可以很快的安装完包,但是有些项目,比如Angular,有些包可能会安装出现问题。

Gem

使用Ruby-China

设置镜像

1
gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/

设置代理

设置代理需要有代理服务,保证可以访问到对应的地址

NPM

设置代理

1
2
npm config set proxy http://server:port
npm config set https-proxy http://server:port

取消代理

1
2
npm config delete proxy
npm config delete https-proxy

查看代理

1
npm config list

如果代理不支持https,修改npm存放package的网站地址为非https地址

1
$ npm config set registry "http://registry.npmjs.org/"

Git

设置代理

1
2
3
$ git config --global http.proxy http://server:port
$ git config --global https.proxy http://server:port

删除代理

1
2
git config --global --unset http.proxy
git config --global --unset https.proxy

查看代理

1
2
git config --global --get http.proxy
git config --global --get https.proxy

Gem

设置代理

安装时加上 –http-proxy 参数

1
gem install --http-proxy http://proxy:port sass

bower

设置代理

1
2
3
4
5
6
# 修改 .bowerrc 文件(如无则新增):
{
"proxy": "http://proxy:port",
"https-proxy": "http://proxy:port"
}

apm

apm是github出品的Atom编辑器的包管理器,它默认使用npm的设置,如果需要单独设置

设置代理

1
$ apm config set https-proxy https://server:port

查看设置

1
$ apm config list

设置命令行代理

可以将命令行直接设置代理,这样命令行里的数据链接都会通过代理

  • windows

这种设置只对本命令行窗口启用

1
2
3
4
5
set http_proxy=http://proxy:port
# 用户名密码则输入
set http_proxy_user=< username >
set http_proxy_pass=< password >
  • OS X
1
sudo networksetup -setwebproxy "Ethernet" http://proxy port

本地安装

NPM

对于有些几乎没有依赖的包,可以通过直接从node_modules文件夹中拷贝的方法实现安装

Gem

  1. 首先通过(rubygems)[https://rubygems.org/] 下载对应的包
  2. 通过本地安装
1
gem install --local sass.gem

关于OS X的代理

OS X上有很多其他的下载需要代理,那么我们可以使用Proxychains 配合 shadowsocks 实现每个命令都可以使用代理

  1. 安装工具
1
brew install proxychains-ng
  1. 设置 Proxychains 安装目录下的 proxychains.conf 文件
1
vim /etc/proxychains.conf

[ProxyList]下加入

1
socks5 127.0.0.1 1080

  1. 使用 proxychains4 为命令代理
1
2
proxychains4 curl https://www.twitter.com/
proxychains4 git push origin master