利用nvm管理多个版本的node.js与npm详解


Posted in Javascript onNovember 02, 2017

前言

Nvm 管理不同版本的 node 与 npm

nvm 是 NodeJS 的多版本管理工具,有点类似管理 Ruby 的 rvm,如果是需要管理 Windows 下的 node,官方推荐是使用 nvmw 或 nvm-windows 。

卸载已安装的全局 node/npm

在官网下载的 node 安装包,运行后会自动安装在全局目录,其中node 命令在 /usr/bin/node ,npm 命令在全局 node_modules 目录中,具体路径为 /usr/lib[lib64]/node_modules/npm。

安装 nvm 之后最好先删除下已安装的 node 和全局 node 模块:

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

sudo rm -rf /usr/lib[lib64]/node_modules // 删除全局 node_modules 目录
sudo rm /usr/bin/node // 删除 node
cd /usr/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm // 删除全局 node 模块注册的软链

// suse uninstall zypper install package
zypper uninstall node

实例教程

正好由于最近不同项目之间 nodejs 版本的冲突,便想起之前看到过的多版本管理工具 nvm,nvm 是 Mac 环境下 node 管理工具,在 Windows 平台下推荐 nvmw 或 nvm-windows。所以就将实现的步骤一步步介绍给大家,话不多说了,来一起看看详细的介绍吧。

以下的步骤均针对于 Windows 系统下的安装与使用。

安装 nvm-windows 之前最好先把 Node.js 卸载。

nvm-windows 下载地址:https://github.com/coreybutler/nvm-windows/releases

直接下载压缩安装包即可。

利用nvm管理多个版本的node.js与npm详解

解压后,直接安装,我这里使用的是默认路径,也可以自己选择路径,但路径最好不要带中文。

利用nvm管理多个版本的node.js与npm详解

利用nvm管理多个版本的node.js与npm详解

检查 nvm 是否安装完成,结果报错:

利用nvm管理多个版本的node.js与npm详解

第一反应是环境变量配置有问题,但是检查环境变量后,发现无异常。

利用nvm管理多个版本的node.js与npm详解

利用nvm管理多个版本的node.js与npm详解

由于之前使用 npm 下载安装过 angular cli,vue-cli,webpack 等等,所以需要删了下面的文件。

C:\Users\Administrator\AppData\Roaming\npm
C:\Users\Administrator\AppData\Roaming\npm-cache

再次执行 nvm 看到如下信息表示安装成功。

利用nvm管理多个版本的node.js与npm详解

接下来使用 nvm 命令安装某个版本的 nodejs:

nvm install 4.7.0

安装 nodejs 的同时会安装对应版本的 npm。

利用nvm管理多个版本的node.js与npm详解

使用某个版本的 nodejs:

nvm use 4.7.0

之后就可以正常使用 node 和 npm 命令了。

利用nvm管理多个版本的node.js与npm详解

然后使用类似的命令安装其他版本的 nodejs。使用 nvm use 进行切换就可以了。

利用nvm管理多个版本的node.js与npm详解

其他常用命令:

nvm ls available // 列出所有可用的nodejs版本
nvm alias xxx 4.7.0 // 给不同版本号设置别名
nvm unalias xxx // 取消这个别名
nvm ls // 列出已经安装的nodejs版本

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
基于jQuery的js分页代码
Jun 10 Javascript
js/jquery获取文本框输入焦点的方法
Mar 04 Javascript
jquery操作select方法汇总
Feb 05 Javascript
不同编码的页面表单数据乱码问题解决方法
Feb 15 Javascript
Javascript中With语句用法实例
May 14 Javascript
Javascript 字符串模板的简单实现
Feb 13 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
May 25 Javascript
jquery插件格式实例分析
Jun 16 Javascript
javascript滚轮控制模拟滚动条
Oct 19 Javascript
jQuery ajax的功能实现方法详解
Jan 06 Javascript
jQuery使用正则验证15/18身份证的方法示例
Apr 27 jQuery
js生成1到100的随机数最简单的实现方法
Feb 07 Javascript
JavaScript屏蔽Backspace键的实现代码
Nov 02 #Javascript
Vue源码学习之初始化模块init.js解析
Nov 02 #Javascript
为输入框加入数字js校验代码分享
Nov 02 #Javascript
详谈js中标准for循环与foreach(for in)的区别
Nov 02 #Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
Nov 02 #Javascript
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
Nov 02 #Javascript
vue-resource + json-server模拟数据的方法
Nov 02 #Javascript
You might like
PHP制作图型计数器的例子
2006/10/09 PHP
在PHP3中实现SESSION的功能(一)
2006/10/09 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
Smarty中常用变量操作符汇总
2014/10/27 PHP
php分页查询的简单实现代码
2017/03/14 PHP
jquery中ajax学习笔记4
2011/10/16 Javascript
Jquery弹出窗口插件 LeanModal的使用方法
2012/03/10 Javascript
js二维数组排序的简单示例代码
2014/01/24 Javascript
Jquery api 速查表分享
2015/01/12 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
在JavaScript中使用JSON数据
2016/02/15 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
2016/08/24 Javascript
如何提高数据访问速度
2016/12/26 Javascript
Bootstrap导航条学习使用(一)
2017/02/08 Javascript
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
vue项目实战总结篇
2018/02/11 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
python语言使用技巧分享
2016/05/31 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
tensorflow与numpy的版本兼容性问题的解决
2021/01/08 Python
英国奢侈皮具品牌:Aspinal of London
2018/09/02 全球购物
Spartoo美国:欧洲排名第一的在线时装零售商
2019/12/12 全球购物
struct与class的区别
2014/02/03 面试题
小学家长会邀请函
2014/01/23 职场文书
高级工程师英文求职信
2014/03/19 职场文书
党政领导班子民主生活会整改措施
2014/09/18 职场文书
教师师德表现自我评价
2015/03/05 职场文书
2015年医药代表工作总结
2015/04/25 职场文书
食堂卫生管理制度
2015/08/04 职场文书
办公室规章制度范本
2015/08/04 职场文书
vue-cropper组件实现图片切割上传
2021/05/27 Vue.js
MySQL CHAR和VARCHAR该如何选择
2021/05/31 MySQL