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在vs2008及js文件中的无智能提示的解决方法
Dec 30 Javascript
javascript分页代码(当前页码居中)
Sep 20 Javascript
JS中实现replaceAll的方法(实例代码)
Nov 12 Javascript
浅谈JavaScript中promise的使用
Jan 11 Javascript
Reactjs实现通用分页组件的实例代码
Jan 19 Javascript
vue.js开发环境安装教程
Mar 17 Javascript
基于jquery实现二级联动效果
Mar 30 jQuery
JavaScript数据结构学习之数组、栈与队列
May 02 Javascript
详解用node-images 打造简易图片服务器
May 08 Javascript
Bootstrap Table从零开始
Jun 30 Javascript
javascript设计模式 ? 职责链模式原理与用法实例分析
Apr 16 Javascript
js实现鼠标点击飘爱心效果
Aug 19 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
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
2015/09/22 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
THINKPHP5.1 Config的配置与获取详解
2020/06/08 PHP
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
parseInt parseFloat js字符串转换数字
2010/08/01 Javascript
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
JavaScript获取表单enctype属性的方法
2015/04/02 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
javascript数组去重的六种方法汇总
2015/08/16 Javascript
Angular2 多级注入器详解及实例
2016/10/30 Javascript
ajax异步请求详解
2017/01/06 Javascript
vue.js实现含搜索的多种复选框(附源码)
2017/03/23 Javascript
js脚本编写简单刷票投票系统
2017/06/27 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
2018/04/13 Javascript
vue-cli初始化项目中使用less的方法
2018/08/09 Javascript
vue实例中data使用return包裹的方法
2018/08/27 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
详解Express笔记之动态渲染HTML(新手入坑)
2018/12/13 Javascript
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
2020/12/14 Vue.js
[07:47]DOTA2国际邀请赛采访专栏:探访Valve总部
2013/08/08 DOTA
Python中实现结构相似的函数调用方法
2015/03/10 Python
python获取外网ip地址的方法总结
2015/07/02 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
2018/01/10 Python
Python中多个数组行合并及列合并的方法总结
2018/04/12 Python
利用anaconda保证64位和32位的python共存
2021/03/09 Python
python+numpy按行求一个二维数组的最大值方法
2019/07/09 Python
Django models文件模型变更错误解决
2020/05/11 Python
法国高保真音响和家庭影院商店:Son Video
2019/04/26 全球购物
ORACLE十问
2015/04/20 面试题
数控技术应届生求职信
2013/11/13 职场文书
化学教育专业求职信
2014/07/08 职场文书
机票销售员态度不好检讨书
2014/09/27 职场文书
班子个人四风问题整改措施
2014/10/04 职场文书
受资助学生感谢信
2015/01/21 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书