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获取选中的文本的方法代码
Oct 30 Javascript
防止登录页面出现在frame中js代码
Jul 22 Javascript
AngularJS基础 ng-selected 指令简单示例
Aug 03 Javascript
javascript 判断是否是微信浏览器的方法
Oct 09 Javascript
基于JavaScript实现的希尔排序算法分析
Apr 14 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
Apr 29 jQuery
荐书|您有一份JavaScript书单待签收
Jul 21 Javascript
JavaScript编写棋盘覆盖代码详解
Aug 28 Javascript
JS实现移动端整屏滑动的实例代码
Nov 10 Javascript
JavaScript实现异步图像上传功能
Jul 12 Javascript
详解javascript 变量提升(Hoisting)
Mar 12 Javascript
详解vue中的父子传值双向绑定及数据更新问题
Jun 13 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之CodeIgniter学习笔记
2013/06/17 PHP
php数组键值用法实例分析
2015/02/27 PHP
thinkphp下MySQL数据库读写分离代码剖析
2017/04/18 PHP
一个支持任意尺寸的图片上下左右滑动效果
2014/08/24 Javascript
基于jquery实现的自动补全功能
2015/03/12 Javascript
jQuery Checkbox 全选 反选的简单实例
2016/11/29 Javascript
jquery.Callbacks的实现详解
2016/11/30 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
Javascript实现base64的加密解密方法示例
2017/06/27 Javascript
jQuery实现表格隔行换色
2018/09/01 jQuery
vue-cli脚手架的安装教程图解
2018/09/02 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
2018/09/19 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
2018/10/09 Javascript
微信小程序实现语音识别转文字功能及遇到的坑
2019/08/02 Javascript
Vue发布订阅模式实现过程图解
2020/04/30 Javascript
前端性能优化建议
2020/09/17 Javascript
解决Django生产环境无法加载静态文件问题的解决
2019/04/23 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
2020/06/03 Python
python连接mysql数据库并读取数据的实现
2020/09/25 Python
jupyter使用自动补全和切换默认浏览器的方法
2020/11/18 Python
澳大利亚家庭花园和DIY工具网店:VidaXL
2019/05/03 全球购物
世界上最大的皮肤科医生拥有和经营的美容网站:LovelySkin
2021/01/03 全球购物
触发器(trigger)的功能都有哪些?写出一个触发器的例子
2012/09/17 面试题
自动化专业个人求职信范文
2013/12/30 职场文书
最新个人职业生涯规划书
2014/01/22 职场文书
岗位廉洁从业承诺书
2014/03/28 职场文书
求职教师自荐书
2014/06/19 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
秋收起义观后感
2015/06/11 职场文书
公司仓库管理制度
2015/08/04 职场文书
生日宴会家属答谢词
2015/09/29 职场文书
小学中队长竞选稿
2015/11/20 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python
SQLServer RANK() 排名函数的使用
2022/03/23 SQL Server