利用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 相关文章推荐
多个iframe自动调整大小的问题
Sep 18 Javascript
关于JAVASCRIPT urldecode URL解码的问题
Jan 08 Javascript
javascript针对DOM的应用分析(二)
Apr 15 Javascript
jquery 合并内容相同的单元格(示例代码)
Dec 13 Javascript
纯js实现重发验证码按钮倒数功能
Apr 21 Javascript
jquery UI Datepicker时间控件的使用及问题解决
Apr 28 Javascript
浅谈jQuery双事件多重加载的问题
Oct 05 Javascript
Vue组件通信之Bus的具体使用
Dec 28 Javascript
javaScript动态添加Li元素的实例
Feb 24 Javascript
vue非父子组件通信问题及解决方法
Jun 11 Javascript
Vue组件的使用及个人理解与介绍
Feb 09 Javascript
vue中组件的3种使用方式详解
Mar 23 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
网站防止被刷票的一些思路与方法
2015/01/08 PHP
Aster vs KG BO3 第一场2.18
2021/03/10 DOTA
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
js实现的四级左侧网站分类菜单实例
2015/05/06 Javascript
js+css实现上下翻页相册代码分享
2015/08/18 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
微信小程序tabBar用法实例详解
2017/12/04 Javascript
Angular4学习教程之HTML属性绑定的方法
2018/01/04 Javascript
vue.js2.0点击获取自己的属性和jquery方法
2018/02/23 jQuery
es6函数之严格模式用法实例分析
2020/03/17 Javascript
小程序实现录音功能
2020/09/22 Javascript
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
Python聚类算法之基本K均值实例详解
2015/11/20 Python
Python基于matplotlib绘制栈式直方图的方法示例
2017/08/09 Python
Python实现PS图像调整颜色梯度效果示例
2018/01/25 Python
PyQt5响应回车事件的方法
2019/06/25 Python
python实现在函数中修改变量值的方法
2019/07/16 Python
在python shell中运行python文件的实现
2019/12/21 Python
python subprocess pipe 实时输出日志的操作
2020/12/05 Python
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
手工制作的意大利皮革运动鞋:KOIO
2020/01/05 全球购物
澳大利亚家具商店:Freedom
2020/12/17 全球购物
银行介绍信范文
2014/01/10 职场文书
初一家长会邀请函
2014/01/31 职场文书
车辆转让协议书
2014/04/15 职场文书
银行爱岗敬业演讲稿
2014/05/05 职场文书
物流专业自荐信
2014/05/23 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
企业党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
公务员政审材料
2014/12/23 职场文书
高三毕业评语
2014/12/31 职场文书
入团申请书格式
2019/06/20 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书
如何使用vue3打造一个物料库
2021/05/08 Vue.js
Java的Object类的九种方法
2022/04/13 Java/Android