设为首页 收藏本站
查看: 825|回复: 0

[经验分享] windows 中配置 nodejs npm

[复制链接]

尚未签到

发表于 2017-2-24 10:10:21 | 显示全部楼层 |阅读模式
  npm安装模块的方式有两种:本地安装,全局安装。
  这两者的区别在于,在用npm install xxx时加不加-g这个选项。
  本地安装的路径在win中是当前cmd的路径。比如,我一打开cmd时,路径是C:\Documents and Settings\Administrator。那如果我用npm install koa的话,结果会在这个目录下生成一个node_modules文件夹,里面是koa文件夹。很显然,很多时候,我们不会把工作路径设在c盘的那个地方。这时,如果require(‘koa’);的话就会提示找不到模块的错误。
  那怎么办呢,就是先在cmd里面切换目录到你的工作路径,然后再安装。这也是推荐的方式。
  还有一点要注意,就是安装后用require(‘koa’);时,要像普通js一样,完全显式的指定它的路径。比如我的chat_server.js是这样引用socket.io的。 require('./node_modules/socket.io/index.js')(server);,前面有个点代表当前js文件的路径。
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Users/chenluo/Documents/My%20Knowledge/temp/8a1b8dcf-93e4-4d64-b3ac-bc7b57ffa048_5_files/3ebdcaf0-c462-4966-9c1a-b32fb4776a39.png

  全局安装:这个很好理解,比如自己做的很多东西都是基于express,而且东西里面又有很多地方用到express,如果每次都像上面那样指定路径的话会很烦人。如果用全局安装的话,就可以直接用require('express');了。
  全局安装的默认路径是
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Users/chenluo/Documents/My%20Knowledge/temp/8a1b8dcf-93e4-4d64-b3ac-bc7b57ffa048_5_files/9daa4ac5-1c8c-449d-9976-7db0e127a4f6.png

  那如果我不喜欢这个路径的话,怎么办。
  比如我的node.js安装在F:\nodejs,新建一个lib文件夹,里面放新安装模块。
  先找到F:\nodejs\node_modules\npm里面的npmrc这个文件,打开可以看到就只有
  prefix=${APPDATA}\npm
  将其改成prefix=F:\nodejs\lib\npm\node_modules\npm。
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Users/chenluo/Documents/My%20Knowledge/temp/8a1b8dcf-93e4-4d64-b3ac-bc7b57ffa048_5_files/b1ecf225-9fd9-48ff-89e3-5825ae261adc.png

  这时记得安装的时候加上-g选项。
  全局安装的方式在windows 中,必须配置 NODE_PATH=F:\nodejs\lib\npm\node_modules\npm\node_modules 环境变量,才能在代码作用使用require引用,否则会报错。红色部分是自动生成的文件夹,需要在NODE_PATH中添加,在是prefix并未指定。
  另外,设置完环境变量后要重新打开cmd才能让新设置的环境变量生效。

NPM 配置镜像


  •   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源
  nrm 是一个 NPM 源管理器,允许你快速地在如下 NPM 源间切换:


  • 列表项目
  • npm
  • cnpm
  • strongloop
  • enropean
  • australia
  • nodejitsu
  • taobao

Install


全选复制放进笔记
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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-346494-1-1.html 上篇帖子: nodejs学习笔记二——链接mongodb 下篇帖子: ionic+nodejs开发遇到的跨域和post请求数据问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表