利用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 window.confirm确认 取消对话框实现代码小结
Oct 21 Javascript
jQuery插件-jRating评分插件源码分析及使用方法
Dec 28 Javascript
js setTimeout opener的用法示例详解
Oct 23 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
May 23 Javascript
解决jquery无法找到其他父级子集问题的方法
May 10 Javascript
利用three.js画一个3D立体的正方体示例代码
Nov 19 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
Nov 30 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
Jan 15 jQuery
微信小程序实现判断是分享到群还是个人功能示例
May 03 Javascript
详解微信小程序回到顶部的两种方式
May 09 Javascript
javascript实现摄像头拍照预览
Sep 30 Javascript
js正则匹配markdown里的图片标签的实现
Mar 24 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类
2006/11/25 PHP
php 分页原理详解
2009/08/21 PHP
php下关于中英数字混排的字符串分割问题
2010/04/06 PHP
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
2011/05/04 PHP
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
PHP中is_file不能替代file_exists的理由
2014/03/04 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
PHP中is_dir()函数使用指南
2015/05/08 PHP
WordPress中获取所使用的模板的页面ID的简单方法
2015/12/31 PHP
Zend Framework常用校验器详解
2016/12/09 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
2018/05/24 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
javascript转换字符串为dom对象(字符串动态创建dom)
2010/05/10 Javascript
javascript中var的重要性分析
2015/02/11 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
2015/06/01 Javascript
浅谈JavaScript异常处理语句
2015/06/26 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
js实现城市级联菜单的2种方法
2017/06/23 Javascript
JavaScript正则表达式校验与递归函数实际应用实例解析
2017/08/04 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
2018/07/30 Javascript
JS实现滑动拼图验证功能完整示例
2020/03/29 Javascript
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
Python中的sort()方法使用基础教程
2017/01/08 Python
Python基于Socket实现的简单聊天程序示例
2017/08/05 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
Python装饰器模式定义与用法分析
2018/08/06 Python
Python面向对象实现一个对象调用另一个对象操作示例
2019/04/08 Python
Python产生一个数值范围内的不重复的随机数的实现方法
2019/08/21 Python
关于Python核心框架tornado的异步协程的2种方法详解
2019/08/28 Python
Python面向对象程序设计之继承、多态原理与用法详解
2020/03/23 Python
MoviePy简介及Python视频剪辑自动化
2020/12/18 Python
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
2014法院四风问题对照检查材料思想汇报
2014/10/04 职场文书
批评与自我批评发言稿
2014/10/15 职场文书
中秋节慰问信
2015/02/15 职场文书
关于召开会议的通知
2015/04/15 职场文书