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 相关文章推荐
使用prototype.js进行异步操作
Feb 07 Javascript
JQuery index()方法使用代码
Jun 02 Javascript
Highcharts使用简例及异步动态读取数据
Dec 30 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
Jan 18 Javascript
JavaScript判断用户名和密码不能为空的实现代码
May 16 Javascript
Node.js测试中的Mock文件系统详解
Nov 21 Javascript
使用Angular缓存父页面数据的方法
Jan 03 Javascript
div中文字内容溢出常见的解决方法
Mar 16 Javascript
javascript中的面向对象
Mar 30 Javascript
微信小程序实现滑动翻页效果(完整代码)
Dec 06 Javascript
javascript实现蒙版与禁止页面滚动
Jan 11 Javascript
如何检测JavaScript中的死循环示例详解
Aug 30 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
全国FM电台频率大全 - 28 甘肃省
2020/03/11 无线电
php中get_headers函数的作用及用法的详细介绍
2013/04/27 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
2013/06/08 Javascript
jquery如何判断某元素是否具备指定的样式
2013/11/05 Javascript
浅谈JavaScript异常处理语句
2015/06/26 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
jQuery zTree加载树形菜单功能
2016/02/25 Javascript
详解JavaScript跨域总结与解决办法
2016/10/31 Javascript
jquery购物车结算功能实现方法
2020/10/29 Javascript
Node.js制作简单聊天室
2017/01/12 Javascript
如何使用JS在HTML中自定义字符串格式化
2017/07/20 Javascript
微信小程序图片轮播组件gallery slider使用方法详解
2018/01/31 Javascript
解决angularjs WdatePicker ng-model的问题
2018/09/13 Javascript
vue-cli的工程模板与构建工具详解
2018/09/27 Javascript
Nodejs处理异常操作示例
2018/12/25 NodeJs
ES6知识点整理之函数数组参数的默认值及其解构应用示例
2019/04/17 Javascript
[02:38]DOTA2英雄基础教程 噬魂鬼
2014/01/03 DOTA
[01:10:49]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
在Python中使用sort()方法进行排序的简单教程
2015/05/21 Python
Python 实现字符串中指定位置插入一个字符
2018/05/02 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
python实现IOU计算案例
2020/04/12 Python
Django 解决由save方法引发的错误
2020/05/21 Python
Python devel安装失败问题解决方案
2020/06/09 Python
10个顶级Python实用库推荐
2021/03/04 Python
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
Linux中如何设置Java环境变量(Ubuntu)
2016/07/24 面试题
索引覆盖(Index Covering)查询含义
2012/02/18 面试题
党员自我评价范文2015
2015/03/03 职场文书
物业客服专员岗位职责
2015/04/07 职场文书
医药公司开票员岗位职责
2015/04/15 职场文书
python 爬取吉首大学网站成绩单
2021/06/02 Python
深入解析MySQL索引数据结构
2021/10/16 MySQL
springboot读取resources下文件的方式详解
2022/06/21 Java/Android