因为公司的网络是需要设置代理服务器才能访问互联网的,所以在使用各种框架的时候,特别是通过cli的方式进行下载、安装的时候,经常会碰到无法连接到网络的问题。因为这些cli工具没有直接去读取系统设置的代理服务器地址。
下面就是一些常用的框架和工具,特别是需要单独设置代理才能正常使用的方法:
运行平台主要以MacOS为例。
curl
meteor等工具在MacOSX系统下是通过该命令方式进行下载并安装的(
curl https://install.meteor.com/ | sh
)。如果未能正确设置代理服务器的话,会出现无法正常安装的问题。
使用方法:
curl -x http://myproxy.com:port ...
示例如下:
$ curl -x 10.20.220.241:808 segmentfault.com -v
ionic
使用方法:
export http_proxy=myproxy.com:port
或者:
export PROXY=http://myproxy.com:port
也可以写在一行:
PROXY=myproxy.com:port ionic start my_app
使用示例如下:
$ export PROXY=http://10.20.220.241:808
$ ionic start myApp
或
$ PROXY=http://10.20.220.241:808 ionic start myApp
小技巧:还有一种更为方便和省事的写法,把http和https等一起设置,如下:
$ export {http,https,ftp}_proxy=http://myproxy.com:port
上面的写法相当于:
$ export http_proxy="http://myproxy.com:port"
$ export https_proxy="http://myproxy.com:port"
$ export ftp_proxy="http://myproxy.com:port"
git
通过以下方法进行一次性设置后即完成了代理服务器的设置。该方法是将代理服务器的地址写入了当前登录的全局配置文件中(
~/.gitconfig
)。
使用方法:
git config --global http.proxy http://myproxy.com:port
git config --global https.proxy http://myproxy.com:port
示例如下:
$ git config --global http.proxy http://10.20.220.241:808
$ git config --global https.proxy https://10.20.220.241:808
npm
通过以下方法进行一次性设置后即完成了代理服务器的设置。该方法是将代理服务器的地址写入了当前登录的全局配置文件中(
~/.npmrc
)。
使用方法:
npm config set proxy=http://myproxy.com:port
npm config set https-proxy http://myproxy.com:port
示例如下:
$ npm config set proxy=http://10.20.220.241:808
$ npm config set https-proxy http://10.20.220.241:808
brew
使用方法:
http_proxy=http://myproxy.com:port brew install ...
示例如下:
$ http_proxy=http://10.20.220.241:808 brew install tree
gem
使用方法:
gem install ... -http-proxy=http://myproxy.com:port
示例如下:
$ gem install cocoapods --http-proxy http://10.20.220.241:808
bower
通过以下方法进行一次性设置后即完成了代理服务器的设置。该方法是将代理服务器的地址写入了当前登录的全局配置文件中(
~/.bowerrc
)。
使用方法:(添加如下内容到~/.bowerrc文件中)
"proxy": "http://myproxy.com:port"
"https-proxy":"http://myproxy.com:port"
示例如下:
~/.bowerrc文件内容如下:
{
"proxy": "http://10.20.220.241:808",
"https-proxy":"http://10.20.220.241:808"
}
apm (Atom)
apm是Atom编辑器中的命令行工具。
使用方法:
PROXY=http://myproxy.com:port apm install ...
示例如下:
$ PROXY=http://10.20.220.241:808 apm install nuclide
或者:
直接编辑.apmrc文件内容。
使用方法:
https-proxy=http://myproxy.com:port
proxy=http://myproxy.com:port
strict-ssl=false
示例如下:
https-proxy=https://10.20.220.241:808/
proxy=http://10.20.220.241:808/
strict-ssl=false
NuGet
NuGet(读作New Get)是用于微软.NET开发平台的软件包管理器,是一个Visual Studio的扩展。在使用Visual Studio开发基于.NET Framework的应用时,NuGet能够令你在项目中添加、移除和更新引用的工作变得更加快捷方便。
通过NuGet你可以很容易的访问到其他开发者发布的软件包,你也可以创建、分享或者发布自己的包到NuGet。
使用方法:
$ nuget config -set http_proxy=http://myproxy.com:port
示例如下:
$ nuget config -set http_proxy=http://10.20.220.241:808
aria2c
Aria2是一个轻量级多协议和多源命令行下载实用工具。它支持HTTP/HTTPS、FTP、SFTP、BT和Metalink。通过内置Aria2可以操作json-rpc和xml-rpc。
这是一个很有用的命令。比如,用它来下载百度网盘上的分享的文件,可以不受百度规定的大小和速度的限制。因为一般来说,百度会对过大的文件只允许用百度网盘的客户端工具进行下载。当然,如果只是用它特定的工具下载也无所谓,但如果不是百度的会员,下载的速度会被限制得比较慢。
使用方法:
$ export {http,https,ftp}_proxy=http://myproxy.com:port
$ aria2c http://host/file ...
或:
$ aria2c --all-proxy='http://myproxy.com:port' http://host/file
示例如下:
$ export {http,https,ftp}_proxy=http://10.20.220.241:808
$ aria2c --all-proxy='http://10.20.220.241:808' http://host/file ...
或
aria2c --all-proxy='http://10.20.220.241:808' http://host/file ...
pip
pip 是一个安装和管理 Python 包的工具,python安装包的工具有easy_install, setuptools, pip,distribute等。distribute是setuptools的替代品,是对标准库disutils模块的增强,我们知道disutils主要是用来更加容易的打包和分发包,特别是对其他的包有依赖的包。distribute被创建是因为Setuptools包不再维护了。而pip是easy_install的替代品。
使用方法:
pip --proxy http://myproxy.com:port install ...
示例如下:
$ pip --proxy http://10.20.220.241:808 install scrapy