利用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 相关文章推荐
JS.elementGetStyle(element, style)应用示例
Sep 24 Javascript
Jquery方式获取iframe页面中的 Dom元素
May 07 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
Aug 12 Javascript
javascript中的__defineGetter__和__defineSetter__介绍
Aug 15 Javascript
jQuery实现按键盘方向键翻页特效
Mar 18 Javascript
JS加载iFrame出现空白问题的解决办法
May 13 Javascript
Javascript+CSS3实现进度条效果
Oct 28 Javascript
基于JavaScript实现购物车功能
Feb 07 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
Jun 29 Javascript
React Native预设占位placeholder的使用
Sep 28 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
Jan 21 Javascript
vue组件化中slot的基本使用方法
May 01 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
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
PHP实现数组和对象的相互转换操作示例
2019/03/20 PHP
javascript 日历提醒系统( 兼容所有浏览器 )
2009/04/07 Javascript
javascript操作符"!~"详解
2015/02/10 Javascript
jQuery中prepend()方法使用详解
2015/08/11 Javascript
轻松学习jQuery插件EasyUI EasyUI实现树形网络基本操作(2)
2015/11/30 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
2015/12/01 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
三种带箭头提示框总结实例
2016/06/14 Javascript
JavaScript实现自动切换图片代码
2016/10/11 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
概述如何实现一个简单的浏览器端js模块加载器
2016/12/07 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
JavaScript 栈的详解及实例代码
2017/01/22 Javascript
JavaScript 实现 Tab 点击切换实例代码
2017/03/25 Javascript
微信小程序封装多张图片上传api代码实例
2019/12/30 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
2020/11/09 Javascript
python显示天气预报
2014/03/02 Python
Python多进程编程技术实例分析
2014/09/16 Python
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
Python线性回归实战分析
2018/02/01 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
对python3中pathlib库的Path类的使用详解
2018/10/14 Python
python如何查看微信消息撤回
2018/11/27 Python
利用python修改json文件的value方法
2018/12/31 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
2019/10/18 Python
基于python实现音乐播放器代码实例
2020/07/01 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
一款CSS3实现多功能下拉菜单(带分享按)的教程
2014/11/05 HTML / CSS
Boden澳大利亚官网:英国在线服装公司
2018/08/05 全球购物
大学生水文观测实习自我鉴定
2013/09/29 职场文书
大一自我鉴定范文
2013/12/27 职场文书
四风查摆剖析材料
2014/10/10 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书