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 相关文章推荐
jQuery当鼠标悬停时放大图片的效果实例
Jul 03 Javascript
JS求平均值的小例子
Nov 29 Javascript
js菜单点击显示或隐藏效果的简单实例
Jan 13 Javascript
jQuery使用hide方法隐藏页面上指定元素的方法
Mar 30 Javascript
JS截取与分割字符串常用技巧总结
Nov 10 Javascript
jQuery实现可拖拽3D万花筒旋转特效
Jan 03 Javascript
.net MVC+Bootstrap下使用localResizeIMG上传图片
Apr 21 Javascript
使用SVG基本操作API的实例讲解
Sep 14 Javascript
使用Vue组件实现一个简单弹窗效果
Apr 23 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
Aug 20 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
Sep 27 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
Oct 29 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
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
javascript object array方法使用详解
2012/12/03 Javascript
jquery图片放大功能简单实现
2013/08/01 Javascript
求数组最大最小值方法适用于任何数组
2013/08/16 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
Labelauty?jQuery单选框/复选框美化插件分享
2015/09/26 Javascript
基于jQuery实现的美观星级评论打分组件代码
2015/10/30 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
全面解析Bootstrap中nav、collapse的使用方法
2016/05/22 Javascript
Three.js快速入门教程
2016/09/09 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
python自动化测试之连接几组测试包实例
2014/09/28 Python
Python实现过滤单个Android程序日志脚本分享
2015/01/16 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
python 中xpath爬虫实例详解
2019/08/26 Python
Python for i in range ()用法详解
2020/09/18 Python
python super函数使用方法详解
2020/02/14 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
python构造IP报文实例
2020/05/05 Python
Python类绑定方法及非绑定方法实例解析
2020/10/09 Python
HTML5新特性之type=file文件上传功能
2018/02/02 HTML / CSS
兰蔻加拿大官方网站:Lancome加拿大
2016/08/05 全球购物
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
网络工程师个人的自我评价范文
2013/10/01 职场文书
绿色城市实施方案
2014/03/19 职场文书
教师见习期自我鉴定
2014/04/28 职场文书
有关爱国演讲稿
2014/05/07 职场文书
2014年后勤工作总结范文
2014/12/16 职场文书
慈善献爱心倡议书
2015/04/27 职场文书
公司员工辞职信范文
2015/05/12 职场文书
MySQL系列之八 MySQL服务器变量
2021/07/02 MySQL
RPM包方式安装Oracle21c的方法详解
2021/08/23 Oracle