管理node与npm

314 阅读2分钟

安装nvm

Nvm 可以切换 node 与 npm 版本,在开发不同项目时,可能会用到不同的 node 与 npm 版本,所以使用 nvm 可以方便的在不同 node 与 npm 版本之间进行切换。

为什么不推荐 cnpm 呢?

首先,使用 npm 作为前端项目包管理工具的话,使用 npm 和 cnpm 来安装包时有区别的。通常我们前端项目中都会有 package-lock.json 文件(其作用可看文章),这两个命令对其有一定的影响:

  • cnpm i不受 package-lock.json 影响,只会根据 package.json 进行下载安装。
  • cnpm i xxx@xxx不会跟新到 package-lock.json 中去。
  • npm i xxx@xxx 会跟新到 package-lock.json 中去。

在多人共同协作维护的项目中,package-lock.json 是必不可少的,是为了确保不同开发者安装的包及其依赖保持一致,同时也是降低不同版本 npm 包给项目稳定性带来的影响。尤其是一些不遵循语义化版本控制的第三方 npm 包,就很容易被坑到。

为什么不推荐使用 cnpm? · Issue #82 · toFrankie/blog (github.com)

全局安装npm

一般情况下,安装node时,npm也一起安装了。每次安装一个node版本都要安装一堆包,若能有一个npm让各个版本的node共用,那就便捷很多了。那么可以通过配置一个全局的npm来实现。

  • 首先创建"node_global" 和 “node_cache”两个文件夹进行全局安装的时候安装对应的库到这两个文件。

  • 打开cmd命令行工具,输入以下两句操作

    npm config set prefix "XXXXX\node_global"

    npm config set cache "XXXXXX\node_cache"

  • 我的电脑右键 =》属性 =》高级系统设置 =》系统属性(高级)=》 环境变量,进入环境变量对话框。

    在【系统变量】新建环境变量 NPM_PATH 值为上面创建的全局模块安装路径文件夹。

安装nrm

在使用 npm 的过程中,可能插件安装速度比较慢,我们可能会使用淘宝源对插件进行下载安装。或者在公司内部,有一些私有的插件,需要使用公司的源才可以下载。这种情况,我们就需要设置不同的源来进行下载。每次手动设置相对比较麻烦。而 nrm 可以很好的解决这个问题。

nvm 和 nrm 的安装与使用 - 掘金 (juejin.cn)