1.什么是nvm?

nvm 是 Mac 下的 node 管理工具,可以在同一台电脑上安装多个Node.js版本灵活切换。

2.安装前的准备

a. 卸载已安装到全局的 node/npm
  如果之前是在官网下载的 node 安装包,运行后会自动安装在全局目录,其中 node 命令在 /usr/local/bin/node,npm 命令在全局 node_modules 目录中,具体路径为 /usr/local/lib/node_modules/npm

b. 安装 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 模块注册的软链

3.安装nvm

去官网查看最新版本安装命令: https://github.com/nvm-sh/nvm/blob/master/README.md

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash

或者

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash

若安装报错:curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
解决办法:
通过IPAddress.com首页,输入raw.githubusercontent.com查询到真实IP地址:199.232.68.133
Mac OS 系统:打开终端(Terminal)
默认位置在 启动台–>其他–>终端在终端输入以下命令:sudo vi /etc/hosts

i 修改,在尾部追加内容:199.232.68.133 raw.githubusercontent.com

然后:wq保存即可

4. 或者通过brew安装

brew install nvm
编辑配置文件,vim ~/.bash_profile,文件中写入如下内容
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
输入source ~/.bash_profile 保存。

5. 安装node指定版本

nvm ls-remote // 查看所有的node可用版本
nvm list // 查看已安装node版本
nvm install 版本号 // 下载指定node版本,如nvm install v11.14.0
nvm use 版本号 // 使用指定版本
nvm alias default // 设置默认版本,每次启动终端都使用该版本

6. 通过 n 来管理 node 版本

可以安装 n 来管理和变更 node 版本。

安装 n
npm install -g n
变更 node 版本
n 14.17.0

Mac安装Nvm Node开发环境的更多相关文章

  1. Mac安装vue.js开发环境

    Mac安装vue.js开发环境 DannyHooDanny的专栏订阅 一.vue.js开发环境 二.初始化一个vue.js项目 三.vue.js项目打包部署 本来以为在Mac上搭建vue.js的环境挺 ...

  2. Mac 安装RN android开发环境

    前言 前面介绍了MAC 安装,再来讲讲mac 安装 安卓的开发环境 首先貌似很多Mac自带安卓JDK ,你可以在终端上输入java -version 看是否已经有java开发环境. 如果没有java开 ...

  3. 分享下mac安装xamarin跨平台开发环境的坑

    之前在vs2015上安装好了xamarin环境,考虑到调试IOS仍然需要mac机,昨天决定直接在mac上安装xamarin. 安装完所有的效果如上图,此时已经可以创建安卓和IOS环境. 我安装过程中, ...

  4. [转] 使用NVM快速搭建NODE开发环境

    export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node 本文主要介绍最近自己碰到的几个坑以及搜索到的相应解决方案: 如何快速搭 ...

  5. 【强烈推荐,超详细,实操零失误】node.js安装 + npm安装教程 + Vue开发环境搭建

    node.js安装 + npm安装教程 + Vue开发环境搭建 [强烈推荐,超详细,实操零失误] 原博客园地址:https://www.cnblogs.com/goldlong/p/8027997.h ...

  6. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  7. Mac下搭建php开发环境教程

    方案一:原生安装 这篇文章主要介绍了Mac下搭建php开发环境教程,Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例,需要的朋友可以参考 ...

  8. Mac系统cocos2dx + android 开发环境配置

    Mac系统cocos2dx + android 开发环境配置 /****************************************************** 这遍文章主要转载自:htt ...

  9. mac 配置Python集成开发环境

    mac 配置Python集成开发环境(Eclipse +Python+Pydev) 1.下载Mac版64位的Eclipse. 进入到Eclipse官方网站的下载页面(http://www.eclips ...

  10. node开发环境配置

    node开发环境配置 用处 NodeJS——后台 JavaScript-前台 后台其他语言 1.PHP 2.Java 3.Pythonnode优势 1.性能高 nodejs php 86 1s 1分半 ...

随机推荐

  1. odoo中的字段创建后,不可以编辑

  2. vue3 | slots

    一.什么是插槽 插槽就是子组件中的提供给父组件使用的一个占位符,用<slot></slot>  表示,父组件可以在这个占位符中填充任何模板代码,如 HTML.组件等,填充的内容 ...

  3. activiti03 SSM使用activity

    1.添加依赖 <!--activity依赖--> <dependency> <groupId>org.activiti</groupId> <ar ...

  4. Netty进阶

    1.Netty问题 TCP协议都存在着黏包和半包问题,但是UDP没有 1.粘包现象 发送方分10次发送,接收方一次接受了10次发送的消息 2.半包现象 调整服务器的接受缓冲区大小(调小) 半包会导致服 ...

  5. ft5426触摸屏I2C

    触摸的点数, 先写入地址0x38, 寄存器0x02, 再次读取0x38的数据,得到1个触摸点 读取全部坐标信息,需要读入30字节数据

  6. orw入门报告

    orw(沙箱逃逸) 现在有很多程序在运行时禁用了系统函数,均采用了沙箱技术开启了沙箱保护,我们不能正常的get shell,只能用ROP链来调用其他的函数,例如read,write来把flag打印出来 ...

  7. LeetCode-41 缺失的第一个正整数

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/first-missing-positive 题目描述 给你一个未排序的整数数组 nums ,请你 ...

  8. sqlserver 行转列 列转行

    行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和 ...

  9. python路径含空格导致打开文件报错

    2023.02.14更新: python中使用os.listdir不行,但是可以用os.walk,可以绕过空格的问题. 在windows中总有奇怪的问题,比如路径或文件名带空格,打开文件就会报错. 一 ...

  10. 通过docker 安装部署sentry

    一.下载项目 git clone https://github.com/getsentry/self-hosted 二.安装 1.安装docker和docker-compose 2.运行sentry ...