利用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 相关文章推荐
利用ASP发送和接收XML数据的处理方法与代码
Nov 13 Javascript
深入认识javascript中的eval函数
Nov 02 Javascript
jQuery第三课 修改元素属性及内容的代码
Mar 14 Javascript
jquery实现textarea输入字符控制(仿微博输入控制字符)
Apr 26 Javascript
Google (Local) Search API的简单使用介绍
Nov 28 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
Jan 13 Javascript
jQuery.position()方法获取不到值的安全替换方法
Mar 13 Javascript
JavaScript创建对象的方式小结(4种方式)
Dec 17 Javascript
原生js验证简洁注册登录页面
Dec 17 Javascript
Vue引用Swiper4插件无法重写分页器样式的解决方法
Sep 27 Javascript
d3.js 地铁轨道交通项目实战
Nov 27 Javascript
基于js实现数组相邻元素上移下移
May 19 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的urlencode()URL编码函数浅析
2011/08/09 PHP
thinkphp3.x中cookie方法的用法分析
2016/05/19 PHP
PHP类型约束用法示例
2016/09/28 PHP
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
laravel 5.1下php artisan migrate的使用注意事项总结
2017/06/07 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
javascript 多级checkbox选择效果
2009/08/20 Javascript
JavaScript 加号(+)运算符号
2009/12/06 Javascript
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
firefox下jquery ajax返回object XMLDocument处理方法
2014/01/26 Javascript
使用JS取得焦点(focus)元素代码
2014/03/22 Javascript
js对象内部访问this修饰的成员函数示例
2014/04/27 Javascript
浅谈javascript对象模型和function对象
2014/12/26 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
基于jquery实现二级联动效果
2017/03/30 jQuery
Nodejs核心模块之net和http的使用详解
2019/04/02 NodeJs
Vue 实现一个命令式弹窗组件功能
2019/09/25 Javascript
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
在Python中进行自动化单元测试的教程
2015/04/15 Python
Python中最大递归深度值的探讨
2019/03/05 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
html5中的一些标签学习(心得)
2016/10/18 HTML / CSS
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
德国化妆品和天然化妆品网上商店:kosmetikfuchs.de
2017/06/09 全球购物
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
编程用JAVA解析XML的方式
2013/07/07 面试题
慰问敬老院活动总结
2014/04/26 职场文书
电视节目策划方案
2014/05/16 职场文书
2014年辅导员工作总结
2014/11/18 职场文书
如何用JavaScript实现一个数组惰性求值库
2021/05/05 Javascript