npm安装模块的方式有两种:本地安装,全局安装。node
这二者的区别在于,在用npm install xxx时加不加-g这个选项。nginx
本地安装的路径在win中是当前cmd的路径。好比,我一打开cmd时,路径是C:\Documents and Settings\Administrator。那若是我用npm install koa的话,结果会在这个目录下生成一个node_modules文件夹,里面是koa文件夹。很显然,不少时候,咱们不会把工做路径设在c盘的那个地方。这时,若是require(‘koa’);的话就会提示找不到模块的错误。sql
那怎么办呢,就是先在cmd里面切换目录到你的工做路径,而后再安装。这也是推荐的方式。express
还有一点要注意,就是安装后用require(‘koa’);时,要像普通js同样,彻底显式的指定它的路径。好比个人chat_server.js是这样引用socket.io的。 require('./node_modules/socket.io/index.js')(server);,前面有个点表明当前js文件的路径。npm
全局安装:这个很好理解,好比本身作的不少东西都是基于express,并且东西里面又有不少地方用到express,若是每次都像上面那样指定路径的话会很烦人。若是用全局安装的话,就能够直接用require('express');了。windows
全局安装的默认路径是koa
那若是我不喜欢这个路径的话,怎么办。socket
好比个人node.js安装在F:\nodejs,新建一个lib文件夹,里面放新安装模块。oop
先找到F:\nodejs\node_modules\npm里面的npmrc这个文件,打开能够看到就只有测试
prefix=${APPDATA}\npm
将其改为prefix=F:\nodejs\lib\npm\node_modules\npm。
这时记得安装的时候加上-g选项。
全局安装的方式在windows 中,必须配置 NODE_PATH=F:\nodejs\lib\npm\node_modules\npm\node_modules 环境变量,才能在代码做用使用require引用,不然会报错。红色部分是自动生成的文件夹,须要在NODE_PATH中添加,在是prefix并未指定。
另外,设置完环境变量后要从新打开cmd才能让新设置的环境变量生效。
by config command
npm config set registry http://registry.cnpmjs.org
npm info underscore (若是上面配置正确这个命令会有字符串response)
命令行指定
npm --registry http://registry.cnpmjs.org info underscore
编辑 ~/.npmrc 加入下面内容
registry = http://registry.cnpmjs.org
npm config set proxy http://server:port
npm config set https-proxy http://server:port
若是须要认证的话能够这样设置:
npm config set proxy http://username:password@server:port
npm confit set https-proxy http://username:password@server:port
若是代理不支持https的话须要修改npm存放package的网站地址。
npm config set registry "http://registry.npmjs.org/"
删除代理
npm config delete proxy
nrm 是一个 NPM 源管理器,容许你快速地在以下 NPM 源间切换:
sudo npm install -g nrm
列出可用的源:
➜ ~ nrm ls
npm ---- https://registry.npmjs.org/ cnpm --- http://r.cnpmjs.org/ taobao - http://registry.npm.taobao.org/ eu ----- http://registry.npmjs.eu/ au ----- http://registry.npmjs.org.au/ sl ----- http://npm.strongloop.com/ nj ----- https://registry.nodejitsu.com/ pt ----- http://registry.npmjs.pt/
切换:
➜ ~ nrm use taobao Registry has been set to: http://registry.npm.taobao.org/
增长源:
nrm add <registry> <url> [home]
删除源:
nrm del <registry>
测试速度:
nrm test