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 相关文章推荐
XHTML-Strict 内允许出现的标签
Dec 11 Javascript
jquery插件之easing 动态菜单
Aug 21 Javascript
javascript 判断整数方法分享
Dec 16 Javascript
png在IE6 下无法透明的解决方法汇总
May 21 Javascript
JS组件Bootstrap按钮组与下拉按钮详解
May 10 Javascript
Zepto实现密码的隐藏/显示
Apr 07 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
Jul 13 jQuery
vue.js 图片上传并预览及图片更换功能的实现代码
Aug 27 Javascript
微信小程序框架wepy之动态控制类名
Sep 14 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
Nov 08 Javascript
vue项目中监听手机物理返回键的实现
Jan 18 Javascript
jQuery实现简单三级联动效果
Sep 05 jQuery
浅谈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
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
2013/09/30 PHP
PHP模板引擎Smarty内置变量调解器用法详解
2016/04/11 PHP
Yii配置与使用memcached缓存的方法
2016/07/13 PHP
PHP 实现缩略图
2021/03/09 PHP
jQuery实现的精美平滑二级下拉菜单效果代码
2016/03/28 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码
2016/12/27 Javascript
JQuery 获取Dom元素的实例讲解
2017/07/08 jQuery
浅谈JsonObject中的key-value数据解析排序问题
2017/12/06 Javascript
浅谈React + Webpack 构建打包优化
2018/01/23 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
2021/02/10 Javascript
[03:16]DOTA2完美大师赛主赛事首日集锦
2017/11/23 DOTA
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
整理Python最基本的操作字典的方法
2015/04/24 Python
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
基于Python实现用户管理系统
2019/02/26 Python
PyTorch搭建一维线性回归模型(二)
2019/05/22 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
python图片合成的示例
2020/11/09 Python
德国宠物用品、宠物食品及水族馆网上商店:ZooRoyal
2017/07/09 全球购物
俄罗斯茶和咖啡网上商店:Tea.ru
2021/01/26 全球购物
化学专业毕业生自荐信
2013/11/15 职场文书
法律专业学生的自我评价
2014/02/07 职场文书
2014组织生活会方案
2014/05/19 职场文书
保护动物的标语
2014/06/11 职场文书
孔子观后感
2015/06/08 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP