用nrm管理registry以及npm缓存目录

519 查看

nrm工具说明

nrm 工具的作用是用来管理多个镜像源的,而且可以测试每个镜像源的速度,以及自己维护各个镜像源的地址。目的是让使用者选择速度较快的源来安装。只比手动的方便一丢丢。

  • 全局安装

    npm install -g nrm
  • 列出已有的镜像源

    nrm ls    /*带星号*的表示当前正在使用的镜像源*/
    
  • 切换镜像源

    nrm use <name>
  • 维护镜像源

    nrm del <registry> ### delete
    nrm add  <registry> <url> [home]  ### add
    nrm test <name> ###测试某个镜像源的速度,全部测试用 nrm test
    

HomePage

关于npm缓存目录的一些记录

npm安装的模块有两个缓存目录:
默认*inuxmac下是在用户主目录下的.npm目录下,通过npm config get cache 可以查看。window下则在%AppData%/npm-cache 目录下。

该目录下的模块结构为.npm/module_name/module_version/这种方式命名。

值得注意的是,执行npm install命令的时候npm只会检查node_modules中是否存在该模块,如果没有则会去registry下载,无论.npm文件夹下是否存在。这也是install速度慢的一个原因。

解决办法使用npm install --cache-min <整数时间> <package-name>;
这个命令的意思是从缓存中进行安装,只有再超过参数时间的时候才从regitry上安装。但内在也进行了一次与registry的交互,只是交互的etag属性,服务器返回304表示没有更新不需要下载

另外也可以将缓存目录设置成node_modules目录。