2022.10.7 - Mac 安装nvm记录

Mac 安装nvm记录

参照原文:

Mac安装使用nvm---解决安装443问题【没有废话-清爽版】

M1芯片Mac搭建前端开发环境

mac安装nvm及换源及node安装切换

NVM官网

在Mac(M1芯片)安装nvm的时候,走过很多弯路,这篇文章是记录一下安装过程中遇到的麻烦以及解决方法。

我会从以下几个步骤来记录:

不能使用homebrew安装nvm :出自官网 https://github.com/nvm-sh/nvm

安装Xcode

Xcode 是苹果开发者工具,是一个功能非常强大的 IDE,可以用来开发苹果应用,并且自带了 git 环境, 并且有咱们后续依赖的 Xcode Command line tool , 先进入 app store 中安装 Xcode。安装好之后再进入后续步骤

安装nvm

使用gitee镜像安装nvm到本地

git clone https://gitee.com/mirrors/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags` 

安装nvm
提示成功安装了nvm并带有版本号

配置nvm环境变量

经过了第二步nvm还暂时不能使用;当终端关闭之后再打开将nvm失效;nvm仍然不可用;需要添加nvm环境变量;进入.bash_profile文件设置环境变量;如果没有这个文件;则需要创建文件创建 .bash_profile 文件

vi ~/.bash_profile #进入(i编辑 esc退出 :wq保存)
复制下面的两行粘贴并且保存
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
保存退出后执行生效命令
source ~/.bash_profile

nvm环境变量
nvm环境变量生效
如果你使用的是zsh环境的话(我和大多数小伙伴一样用的也是zsh)还需要单独设置 .zshrc文件;

# zshrc文件内
...
source ~/.bash_profile # 找地方放置
保存退出后执行生效命令
source ~/.zshrc
...

zshrc配置

查看安装

经过了第三步;这个时候不管是新开命令行窗口还是当前;都可以查看nvm的安装情况了! cmmand -v nvm
查看安装情况
已经成功安装了[欢呼声~]

使用nvm安装node

小插曲:如果用的是mac M1 芯片的电脑;需要先在终端 arch -x86_64 zsh 切换切换环境;之后再安装低于node15的版本才可以;因为目前只能安装最新的node版本;详情mac M1 芯片安装低版本node

咱们先安装一个低版本的nodenvm install v8.8.0;然后再安装一个高版本的nvm install v12.18.3
安装node8
node12
安装成功并且提示对应的npm版本(这里有个小插曲就是第六步)
使用nvm ls查看安装的node环境
nvmls查看安装
发现先安装的8.8.0是默认的node版本环境(新开一个命令行窗口也就是这个8);后安装的12.18.3的当前正在使用的node版本;在当前可以使用nvm use x.x.x来切换版本
切换node版本
可以看到箭头所指;当前是使用的8.8.0版本

安装v14及以下的老版本Node

安装 Node 的部分写的很简单,因为按这个步骤,一般不会出问题。而当你用 nvm 尝试去安装 v14 及以下的 Node 版本时,大概率会报错,而我们在工作中恰恰又可能依赖 v14 及以下的 lts 版本。那么为什么会报错呢?究其原因还是因为低版本的 node 并不是基于 arm64 架构的,所以不适配 M1 芯片。在这里教大家两个方法,就能成功安装上低版本 Node。

方法一

在终端中,输入:

arch -x86_64 zsh

通过这个命令可以让 shell 运行在Rosetta2下。 之后你可以通过 nvm install v12 来安装低版本 Node。 在此之后,您可以不用在 Rosetta2 中就可以使用安装的可执行文件,也就是说,您可以将 Node v15与其他节点版本互换使用。

方法二

方法二就是通过 Rosetta2 来启动终端,这样通过 Rosetta2 转译到 x86 架构中执行安装,也一样可以安装成功。

  • 在 finder 中,点击应用程序,并在实用工具中找到终端 (Terminal)
  • 右键终端,点击获取信息
  • 选择 使用Rosetta 打开
  • 重启终端,并执行 nvm install v12 命令

Rosetta

Rosetta2

nvm换源

大家都知道原始的nvm使用的是国外的源,安装速度简直龟速,我们可以安装一下淘宝的镜像源,操作如下:

// 进入文件
vi ~/.bash_profile
// 加入以下两条配置文件
export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node
export NVM_IOJS_ORG_MIRROR=http://npm.taobao.org/mirrors/iojs
// 重启配置文件
source ~/.bash_profile

查IP的网站:https://www.ipaddress.com/

posted @ 2022-10-07 13:53  吕业浩  阅读(1645)  评论(0编辑  收藏  举报