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防止click双击多次提交及传递动态函数或多参数
Apr 02 Javascript
jquery实现简单手风琴菜单效果实例
Jun 13 Javascript
基于JavaScript实现移除(删除)数组中指定元素
Jan 04 Javascript
探讨JavaScript语句的执行过程
Jan 28 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
Apr 29 Javascript
JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】
Sep 26 Javascript
浅谈Vue响应式(数组变异方法)
May 07 Javascript
Vue+iview+webpack ie浏览器兼容简单处理
Sep 20 Javascript
js实现经典贪吃蛇小游戏
Mar 19 Javascript
JS Array.from()将伪数组转换成数组的方法示例
Mar 23 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
Aug 12 Javascript
javascript的setTimeout()使用方法总结
Nov 20 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备份数据库生成SQL文件并下载的函数代码
2012/02/05 PHP
Laravel 5.5 实现禁用用户注册示例
2019/10/24 PHP
JavaScript中使用replace结合正则实现replaceAll的效果
2010/06/04 Javascript
Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
2013/05/07 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
javascript的tab切换原理与效果实现方法
2015/01/10 Javascript
基于jquery实现智能表单验证操作
2016/05/09 Javascript
JavaScript程序中实现继承特性的方式总结
2016/06/24 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
微信小程序中使用javascript 回调函数
2017/05/11 Javascript
package.json文件配置详解
2017/06/15 Javascript
js编写简单的聊天室功能
2017/08/17 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
2017/08/29 Javascript
vue双向数据绑定知识点总结
2018/04/18 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
2019/01/18 Javascript
vue-cli脚手架引入弹出层layer插件的几种方法
2019/06/24 Javascript
python中执行shell命令的几个方法小结
2014/09/18 Python
在Python的Django框架中编写错误提示页面
2015/07/22 Python
Flask web开发处理POST请求实现(登录案例)
2018/07/26 Python
python样条插值的实现代码
2018/12/17 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
python 指定源路径来解决import问题的操作
2021/03/04 Python
详解CSS3 Media Queries中媒体属性的使用
2016/02/29 HTML / CSS
100%植物性、有机、即食餐:Sakara Life
2018/10/25 全球购物
全球性的在线鞋类品牌:Public Desire
2019/04/03 全球购物
shell程序中如何注释
2012/01/28 面试题
大四自我鉴定范文
2013/10/06 职场文书
求职简历中个人的自我评价
2013/12/25 职场文书
党课学习思想汇报
2014/01/02 职场文书
《春到梅花山》教学反思
2014/04/16 职场文书
安全生产承诺书范文
2014/05/22 职场文书
财务管理专业自荐书
2014/09/02 职场文书
2014年民政工作总结
2014/11/26 职场文书
走进毛泽东观后感
2015/06/04 职场文书
2016年春季运动会通讯稿
2015/11/25 职场文书