mac中利用NVM管理不同node版本的方法详解


Posted in Javascript onNovember 08, 2017

前言

大家在开始本文的正文之前,建议大家先看看这篇文章:https://3water.com/article/73424.htm,这篇文章给大家详细介绍了关于node.js 下使用 nvm 或者 n 来进行版本控制及nvm 安装node.js 版本后,重启终端 node , npm 环境变量失效的相关内容,好了,下面开始本文的正文:

Mac 下通过 brew install nvm 所安装的 nvm ,由于安装路径不同,无法正确启用。建议使用 brew uninstall nvm 卸载掉之后,通过本文的方案重新安装一次。

卸载已安装到全局的 node/npm

如果之前是在官网下载的 node 安装包,运行后会自动安装在全局目录,其中

node 命令在 /usr/local/bin/node ,npm 命令在全局 node_modules 目录中,具体路径为 /usr/local/lib/node_modules/npm

安装 nvm 之后最好先删除下已安装的 node 和全局 node 模块:

npm ls -g --depth=0 #查看已经安装在全局的模块,以便删除这些全局模块后再按照不同的 node 版本重新进行全局安装

sudo rm -rf /usr/local/lib/node_modules #删除全局 node_modules 目录
sudo rm /usr/local/bin/node #删除 node
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm #删除全局 node 模块注册的软链

通过nvm来管理

场景:同组的同事使用node版本是5.7.0,而本机安装了node 7.2.0,如何兼容?

使用nvm管理。

  • 使用Homebrew安?nvm
  • 使用nvm安?Node.js
  • 使用nvm?o痛切?QNode.js版本

安装nvm

brew install nvm

使nvm生效

source $(brew --prefix nvm)/nvm.sh

或者:

echo "source $(brew --prefix nvm)/nvm.sh" >> .bash_profile
. ~/.bash_profile

使用nvm安?Node.js

nvm ls-remote

查看可用版本:

v0.10.20
v0.10.21

安装:

nvm install <version>

比如:

nvm install v5.7.0

还有

nvm install v7.2.0

使用nvm?o痛切?QNode.js版本

nvm??迅??版本的node安?在/usr/local/opt/nvm底下。可以看看?目?底下放了哪些?|西:

$ ls /usr/local/opt/nvm
INSTALL_RECEIPT.json LICENSE.md alias bin nvm.sh v5.7.0 v7.2.0

我??可以??透?nvm安?????版本,事??上???vm目?下另外建立了v5.7.0以及v7.2.0???目??矸?e存放node的binary?n。又nvm??谀愕?PATH最前面安插指定版本的目?,透????方式你在使用node指令?r就??弥付ǖ陌姹?磉\作了。

?????PATH的值看看:

$ echo $PATH
/usr/local/opt/nvm/v5.7.0/bin: ...

查看当前可用版本

nvm ls

切换版本:

nvm use <version>

比如

nvm use --delete-prefix v5.7.0

也可以偷?幸稽c,不用打完整的版?:

$ nvm use --delete-prefix 5.7
Now using node v5.7.0

切?Q成?e的版本:

$ nvm use --delete-prefix 7
Now using node v7.2.0

不?????砹耍?绻?懔硗忾_一??shell?窗,?K?入nvm,??l?current version是空的:

$ nvm ls

 v0.10.24
 v0.11.10
current:

?是因?槔??vm use指令只??诋?前的shell生效,?你?了新的shell就??l?$PATH的值已?不包含??才?定的node目?了。

要解?Q??????就是利用

$ nvm alias default <version>

?碓O定一????的node版本:

$ nvm alias default 5.7.0
default -> 5.7 (-> v5.7.0)

此?r再打?另一??shell?窗,就可以直接使用你所?定的node版本了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
JavaScript asp.net 获取当前超链接中的文本
Apr 14 Javascript
js客户端快捷键管理类的较完整实现和应用
Jun 08 Javascript
关于IE BUG与字符串截取substr的解决办法
Apr 10 Javascript
上传图片预览JS脚本 Input file图片预览的实现示例
Oct 23 Javascript
浅谈JavaScript中的分支结构
Jul 01 Javascript
JS获取input file绝对路径的方法(推荐)
Aug 02 Javascript
浅谈JavaScript 覆盖原型以及更改原型
Aug 31 Javascript
纯JS焦点图特效实例(可一个页面多用)
Dec 07 Javascript
js事件冒泡与事件捕获详解
Feb 20 Javascript
使用vue构建一个上传图片表单
Jul 04 Javascript
微信小程序之分享页面如何返回首页的示例
Mar 28 Javascript
vue.js编译时给生成的文件增加版本号
Sep 17 Javascript
浅谈vue-router2路由参数注意的问题
Nov 08 #Javascript
基于jQuery中ajax的相关方法汇总(必看篇)
Nov 08 #jQuery
javaScript之split与join的区别(详解)
Nov 08 #Javascript
AngularJs 终极购物车(实例讲解)
Nov 08 #Javascript
js实现图片粘贴上传到服务器并展示的实例
Nov 08 #Javascript
vue实现仿淘宝结账页面实例代码
Nov 08 #Javascript
vue-router路由与页面间导航实例解析
Nov 07 #Javascript
You might like
使用php4加速网络传输
2006/10/09 PHP
获得Google PR值的PHP代码
2007/01/28 PHP
PHP5 面向对象程序设计
2008/02/13 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
JavaScript的面向对象方法以及差别
2008/03/31 Javascript
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
JQuery中基础过滤选择器用法实例分析
2015/05/18 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
浅谈js键盘事件全面控制
2016/12/01 Javascript
基于JavaScript实现轮播图原理及示例
2020/04/10 Javascript
angular.fromJson与toJson方法用法示例
2017/05/17 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
Python中的各种装饰器详解
2015/04/11 Python
Python绘制3D图形
2018/05/03 Python
Pycharm 2020年最新激活码(亲测有效)
2020/09/18 Python
pycharm解决关闭flask后依旧可以访问服务的问题
2020/04/03 Python
Django Form常用功能及代码示例
2020/10/13 Python
Python+OpenCV检测灯光亮点的实现方法
2020/11/02 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
HTML5 HTMLCollection和NodeList的区别详解
2020/04/29 HTML / CSS
澳大利亚男士西服品牌:M.J.Bale
2018/02/06 全球购物
美国最大婚纱连锁店运营商:David’s Bridal
2019/03/12 全球购物
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
客服文员岗位职责
2013/11/29 职场文书
奥运会口号
2014/06/13 职场文书
公安机关党的群众路线教育实践活动剖析材料
2014/10/10 职场文书
党的群众路线教育实践活动总结
2014/10/30 职场文书
大学生自荐材料范文
2014/12/30 职场文书
责任书格式
2015/01/29 职场文书
个人自我鉴定怎么写?
2019/07/01 职场文书
使用 JavaScript 制作页面效果
2021/04/21 Javascript