利用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 相关文章推荐
用函数式编程技术编写优美的 JavaScript
Nov 25 Javascript
让JavaScript拥有类似Lambda表达式编程能力的方法
Sep 12 Javascript
EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
Apr 16 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
Jul 08 Javascript
AngularJS 模块化详解及实例代码
Sep 14 Javascript
jQuery事件用法详解
Oct 06 Javascript
详解Vue自定义过滤器的实现
Jan 10 Javascript
vue.js源代码core scedule.js学习笔记
Jul 03 Javascript
Angular 4.0学习教程之架构详解
Sep 12 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 jQuery
vue封装swiper代码实例解析
Oct 08 Javascript
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
Sep 16 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
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
javascript 类型判断代码分析
2010/03/28 Javascript
Node.js中的事件驱动编程详解
2014/08/16 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
JavaScript获取表单内所有元素值的方法
2015/04/02 Javascript
jQuery动画效果实现图片无缝连续滚动
2016/01/12 Javascript
jQuery 常用代码集锦(必看篇)
2016/05/16 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
Vue 2.0学习笔记之Vue中的computed属性
2017/10/16 Javascript
小程序云开发实战小结
2018/10/25 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
javascript中的数据类型检测方法详解
2019/08/07 Javascript
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
Nuxt的路由配置和参数传递方式
2020/11/06 Javascript
三剑客:offset、client和scroll还傻傻分不清?
2020/12/04 Javascript
[42:27]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第三局
2016/03/05 DOTA
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python分治法定义与应用实例详解
2017/07/28 Python
Python中sort和sorted函数代码解析
2018/01/25 Python
python抓取文件夹的所有文件
2018/02/27 Python
python如何把嵌套列表转变成普通列表
2018/03/20 Python
Python实现合并两个列表的方法分析
2018/05/28 Python
Python从单元素字典中获取key和value的实例
2018/12/31 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
2019/06/26 Python
Django实现前台上传并显示图片功能
2020/05/29 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
二年级数学教学反思
2014/01/21 职场文书
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
小学生个人先进事迹材料
2014/05/08 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
党员干部四风问题整改措施思想汇报
2014/10/12 职场文书
2014年机关后勤工作总结
2014/12/16 职场文书
药品开票员岗位职责
2015/04/15 职场文书
调研报告的主要写法
2019/04/18 职场文书