美文网首页
使用 nvm 管理不同版本的 node 与 npm

使用 nvm 管理不同版本的 node 与 npm

作者: 小小小魔仙 | 来源:发表于2017-09-28 10:08 被阅读561次
一、卸载已安装到全局的 node/npm

如果之前是在官网下载的 node 安装包,运行后会自动安装在全局目录,安装 nvm 之后最好先删除下已安装的 node 和全局 node 模块

npm ls -g --depth=0 #查看已经安装在全局的模块,以便删除这些全局模块后再按照不同的 node 版本重新进行全局安装

sudo rm -rf /usr/local/lib/node_modules #删除全局 node_modules 目录
sudo rm /usr/local/bin/node #删除 node
cd  /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm #删除全局 node 模块注册的软链
二、安装 nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash

安装完成后请重新打开终端环境;
也可以下载nvm安装包进行安装;

三、安装切换各版本 node/npm
nvm install stable #安装最新稳定版 node,现在是 8.6.0
nvm install 4.5.0 #安装  4.5.0  版本
nvm install 0.12.7 #安装 0.12.7 版本

安装完成后,切换版本:

nvm use 0 #切换至 0.12.7 版本
nvm use 4 #切换至 4.2.2 版本
//常用指令:
nvm list  - 检查已经安装好的node版本,带*表示现在正在运行的版本
nvm -v   - 检查nvm 版本号
npm 是node安装好之后自带的,
npm -v  -检查npm 版本号
//npm是国外产品,可以用国内镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org   -用cnpm代替npm
四、使用 .nvmrc 文件配置项目所使用的 node 版本

如果我们的默认 node 版本(通过 nvm alias 命令设置的)与项目所需的版本不同,则可在项目根目录或其任意父级目录中创建 .nvmrc 文件,在文件中指定使用的 node 版本号,例如:

cd <项目根目录>  #进入项目根目录
echo 4 > .nvmrc #添加 .nvmrc 文件
nvm use #无需指定版本号,会自动使用 .nvmrc 文件中配置的版本
node -v #查看 node 是否切换为对应版本
五、nvm 与 n 的区别
  1. n 命令是作为一个 node 的模块而存在,
    而 nvm 是一个独立于 node/npm 的外部 shell 脚本,
    因此 n 命令相比 nvm 更加局限。

  2. npm 安装的模块路径均为 /usr/local/lib/node_modules ,
    当使用 n 切换不同的 node 版本时,
    实际上会共用全局的 node/npm 目录。
    因此不能很好的满足按不同 node 版本使用不同全局 node 模块的需求。

相关文章

网友评论

      本文标题:使用 nvm 管理不同版本的 node 与 npm

      本文链接:https://www.haomeiwen.com/subject/dhrmextx.html