利用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中遍历对象的property的3种方法介绍
Dec 30 Javascript
jquery $(document).ready()和window.onload的区别浅析
Feb 04 Javascript
JavaScript自定义等待wait函数实例分析
Mar 23 Javascript
详解JavaScript中的异常处理方法
Jun 16 Javascript
jQuery Html控件基本操作(日常收集整理)
Mar 11 Javascript
基于JavaScript实现选项卡效果
Jul 21 Javascript
JavaScript闭包和回调详解
Aug 09 Javascript
前端开发不得不知的10个最佳ES6特性
Aug 30 Javascript
jquery实现左右轮播切换效果
Jan 01 jQuery
解决Vue 通过下表修改数组,页面不渲染的问题
Mar 08 Javascript
vue.js 实现点击展开收起动画效果
Jul 07 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
Sep 15 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
德生PL660的电路分析和打磨
2021/03/02 无线电
动态网站web开发 PHP、ASP还是ASP.NET
2006/10/09 PHP
php pki加密技术(openssl)详解
2013/07/01 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
2015/01/30 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
2015/03/05 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
php结合web uploader插件实现分片上传文件
2016/05/10 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
学习YUI.Ext 第七天--关于View&JSONView
2007/03/10 Javascript
Jquery iframe内部出滚动条
2010/02/11 Javascript
深入理解JavaScript系列(13) This? Yes,this!
2012/01/18 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
IE下通过a实现location.href 获取referer的值
2014/09/04 Javascript
jQuery 回调函数(callback)的使用和基础
2015/02/26 Javascript
node.js中格式化数字增加千位符的几种方法
2015/07/03 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
jQuery自动或手动图片切换效果
2017/10/11 jQuery
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
vue+iview/elementUi实现城市多选
2019/03/28 Javascript
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
2018/05/04 Python
django的ORM操作 删除和编辑实现详解
2019/07/24 Python
python库matplotlib绘制坐标图
2019/10/18 Python
python框架django项目部署相关知识详解
2019/11/04 Python
python数据库编程 Mysql实现通讯录
2020/03/27 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
Django自关联实现多级联动查询实例
2020/05/19 Python
厨师岗位职责
2013/11/12 职场文书
工程采购员岗位职责
2014/03/09 职场文书
派出所所长先进事迹
2014/05/19 职场文书
总经理年会致辞
2015/07/29 职场文书
班委竞选稿范文
2015/11/21 职场文书
Python中for后接else的语法使用
2021/05/18 Python
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js