利用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生成/解析dom的CDATA类型的字段的代码
Apr 22 Javascript
window.location.href中url中数据量太大时的解决方法
Dec 23 Javascript
JS+CSS相对定位实现的下拉菜单
Oct 06 Javascript
js实现图片无缝滚动
Dec 23 Javascript
bootstrap datepicker限定可选时间范围实现方法
Sep 28 Javascript
Jquery on绑定的事件 触发多次实例代码
Dec 08 Javascript
H5上传本地图片并预览功能
May 08 Javascript
vue elementui el-form rules动态验证的实例代码详解
May 23 Javascript
JavaScript实现更换背景图片
Oct 18 Javascript
JS快速实现简单计算器
Apr 08 Javascript
Node 使用express-http-proxy 做api网关的实现
Oct 15 Javascript
JavaScript实现点击切换功能
Jan 27 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 flv视频时间获取函数
2010/06/29 PHP
CI框架中集成CKEditor编辑器的教程
2014/06/09 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
2016/01/07 PHP
PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
2016/12/24 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
用javascript getComputedStyle获取和设置style的原理
2008/10/10 Javascript
JavaScript Date对象使用总结
2009/05/14 Javascript
jQuery的三种$()
2009/12/30 Javascript
js获取图片大小的函数代码
2011/09/20 Javascript
jQuery Tools Dateinput使用介绍
2012/07/14 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
2014/04/04 Javascript
jquery访问ashx文件示例代码
2014/08/11 Javascript
window.onload使用指南
2015/09/13 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
PHP 实现一种多文件上传的方法
2017/09/20 Javascript
jquery实现楼层滚动效果
2018/01/01 jQuery
JS中promise化微信小程序api
2018/04/12 Javascript
angularJs提交文本框数据到后台的方法
2018/10/08 Javascript
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
vue+element-ui JYAdmin后台管理系统模板解析
2020/07/28 Javascript
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
[08:38]DOTA2-DPC中国联赛 正赛 VG vs Elephant 选手采访
2021/03/11 DOTA
Python 随机生成中文验证码的实例代码
2013/03/20 Python
Python实现线程状态监测简单示例
2018/03/28 Python
Python3实现的简单验证码识别功能示例
2018/05/02 Python
Python调用C/C++的方法解析
2020/08/05 Python
英国最大的电脑零售连锁店集团:PC World
2016/10/10 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
优良学风班申请材料
2014/02/13 职场文书
外语专业毕业生自荐信
2014/04/14 职场文书
竞选副班长演讲稿
2014/04/24 职场文书
在Django中使用MQTT的方法
2021/05/10 Python
Apache Pulsar结合Hudi构建Lakehouse方案分析
2022/03/31 Servers