npm中代理问题:
情景一:
假如一个程序员来到新公司,发现自己的工作电脑不能上网,需要通过局域网代理的方式连接到另外一台能上网的同事电脑上去,使得你能上网
情景二:
假如你远程登陆到一台服务器,发现这台服务器不能上网,但是你又需要在npm、git、cmd中下载或者上传东西。这时候你需要将这台服务器代理到你当前能上网的本机电脑上来。
我们以npm为例,我们会发现在你npm下载模块包的时候会报错,会提示你查看代理错误或者本机网络是否设置正确
此时你需要给npm设置代理
npm config set https-proxy http://server:port
npm config set proxy http://server:port
俩者分别是设置https方式下和http方式的代理指向路径
如果需要认证的话可以这样设置:
npm config set proxy http://username:password@server:port
npm confit set https-proxy http://username:password@server:port
username是代理上网服务器的账号, password是代理上网服务器的密码
代码中的http://server:port 为你代理电脑能上网的本机网上ip,如果有端口号就填上。比如代理地址为:123.33.22.15:808
这样npm就能成功连接到你上网的机子上了(注意即使你本机浏览器已经设置了代理,npm中也要重新进行这个设置)
npm中安装淘宝镜像:
为啥要使用淘宝镜像呢?
大家都知道国内直接使用 npm 的官方镜像是非常慢的,这里推荐使用淘宝 NPM 镜像。
淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。
你可以使用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:
一、镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在):
1.通过config命令
npm config set registry https://registry.npm.taobao.org
npm info underscore (如果上面配置正确这个命令会有字符串response)
registry可以理解成npm存放所有资源包的工作站,我们讲这个指向指向淘宝设置的自己的资源包工作站
2.命令行指定
npm --registry https://registry.npm.taobao.org info underscore
3.编辑 ~/.npmrc
加入下面内容
registry = https://registry.npm.taobao.org
安装模块
从 registry.npm.taobao.org
安装所有模块. 当安装的时候发现安装的模块还没有同步过来, 淘宝 NPM 会自动在后台进行同步, 并且会让你从官方 NPM registry.npmjs.org
进行安装. 下次你再安装这个模块的时候, 就会直接从 淘宝 NPM 安装了.
$ cnpm install [name]
同步模块
直接通过 sync 命令马上同步一个模块, 只有 cnpm 命令行才有此功能:
$ cnpm sync connect
当然, 你可以直接通过 web 方式来同步: /sync/connect
$ open https://npm.taobao.org/sync/connect
注意点:
cnpm支持 npm
除了 publish
之外的所有命令