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文件的路径。

全局安装:这个很好理解,比如自己做的很多东西都是基于express,而且东西里面又有很多地方用到express,如果每次都像上面那样指定路径的话会很烦人。如果用全局安装的话,就可以直接用require('express');了。

全局安装的默认路径是

那如果我不喜欢这个路径的话,怎么办。

比如我的node.js安装在F:\nodejs,新建一个lib文件夹,里面放新安装模块。

先找到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才能让新设置的环境变量生效。

NPM 配置镜像

设置代理

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

windows 中配置 nodejs npm的更多相关文章

  1. windows下配置nodejs+npm

    windows下安装nodejs是比较方便的 (v0.6.0之后,支持windows native),进入官网http://nodejs.org/  点击install即可安装.下载完成后一路next ...

  2. webStrom中配置nodejs

    1.安装nodejs 下载地址:node.js:https://nodejs.org/download/ 按照提示安装即可 2.安装WebStrom 按照提示安装即可 下载地址:webstorm:ht ...

  3. [转]在Windows中配置Rsync同步

    在Windows中配置Rsync同步 Rsync是一款不错的文件免费同步软件,可以镜像保存整个目录树和文件系统,同 时保持原来文件的权限.时间.软硬链接.第一次同步时 rsync 会复制全部内容,下次 ...

  4. 在Windows中安装NodeJS的正确姿势

    NodeJS已经非常流行了,而且可以预见他将继续受到追捧.这确实是一个不错的创举,想想看他现在能做什么吧 1.服务器程序(典型的就是用来做网站或者restful服务,主打就是多线程,非阻塞,最后,一个 ...

  5. [原创] PostgreSQL Plus Advanced Server在Windows中配置双机热备流复制

    一.系统环境 操作系统:Windows Server 2003/2008 两个节点分别为master与slave. 主节点master:172.27.19.28 备机点slave:172.27.19. ...

  6. Tomcat9 在Windows中配置允许远程访问

    环境:Windows  Server 2019 Data Center+Tomcat 9 Tomcat在Windows中安装好了之后,默认只能从本机以http://localhost:8080的方式访 ...

  7. Java 在windows中配置Maven环境和阿里云镜像

    目录 1. 下载Maven 2. 配置环境变量 3. 配置镜像 4. 配置本地仓库 1. 下载Maven 官网:https://maven.apache.org/ 下载:apache-maven-3. ...

  8. 在centos7中安装nodejs(npm )

    我当前使用的是Centos7 首先在官网查看当前最新的版本 https://nodejs.org/dist/ 我现在最新的是 https://nodejs.org/dist/latest-v10.x/ ...

  9. 在Windows中配置Rsync同步

    Rsync是一款不错的文件免费同步软件,可以镜像保存整个目录树和文件系统,同时保持原来文件的权限.时间.软硬链接.第一次同步时 rsync 会复制全部内容,下次只传输修改过的文件部分.传输数据过程中可 ...

随机推荐

  1. Java for LeetCode 044 Wildcard Matching

    Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single character. ...

  2. ACdream 1195 Sudoku Checker (数独)

    Sudoku Checker Time Limit:1000MS     Memory Limit:64000KB     64bit IO Format:%lld & %llu Submit ...

  3. [Eclipse] Eclipse中,Add Jars与Add Library的区别

    refer to : http://blog.csdn.net/gaojinshan/article/details/16948075 Eclipse中,工程属性的Java Build Path的Li ...

  4. Mysql常用函数列举

    1,HEX(),十六进制转化;eg:select HEX('mysql'); select X'6D7973716C'; 2,bit_count(),计算二进制数中包含1的个数;bit_or(),对两 ...

  5. AsyncHttpClient

    package com.jingle.httpstudy;   import org.apache.http.Header;   import android.app.Activity; import ...

  6. vector data() [c++11]

    Example 12345678910111213141516171819202122 // vector::data #include <iostream> #include <v ...

  7. p235习题1

  8. 【转】c# 协变和逆变

    本文转自:http://www.cnblogs.com/rr163/p/4047404.html C#的协变和逆变 由子类向父类方向转变是协变,用out关键字标识,由父类向子类方向转变是逆变,用in关 ...

  9. snmp v3

    http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=7654720&id=3355515 http://tydldd.ite ...

  10. hdu 1733 分层网络流 ****

    题目大意:有一个类似于迷宫搜索的图,‘.’代表的是无人的路,'X'代表有人的点,'#'代表此点不可通过,'@'代表门口.每个位置每一秒钟只能站一个人,每个位置到上下左右点的时间为1,问你所有人能不能出 ...