Mac m(m1)芯片的nvm配置 node版本管理

448 阅读2分钟

前言

执行以下步骤请先安装homebrew

nvm的安装

打开终端执行下面操作

  • cd ~

  • brew install nvm

  • open ~/.bash_profile 添加如下 改变nvm的源地址(如果没有这个文件请查看下方-找不到 .zshrc或者.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 保存上面操作

node的安装

  • 先安装需要arm编译的版本(node15之上原生支持arm编译,15之下需要x86的编译模式)
  • 例如nvm install 16(18/20).xx.xx
    • 然后输入 arch -x86_64 zsh 在64位X86体系结构下启动新的zsh进程
  • 后安装需要x86编译的版本nvm install 14.xx.xx
  • 使用nvm use xx 后 输入 node -p process.arch 检查二进制文件的体系结构
    • arm64
    • x64
  • 设置默认版本 nvm alias default version
  • 清除nvm缓存 nvm cache clear

注: arch -x86_64 zsh 并不是后续所有的都是x86下载,关闭窗口重新nvm install xx 版本默认还是arm

解决在外部无法使用nvm 配置nvm

  • 终端输入 brew info nvm 获取配置信息,以下为获取信息的翻译,现实根据你的提示来。
  • ps:下方的配置也可放在 .bash_profile 里面,然后将.zshrc添加配置,详情查看下方-扩展-章节。
如果NVM的工作目录不存在,则应创建该目录:
  mkdir ~/.nvm
将以下内容添加到~/.zshrc或所需的shell
export NVM_DIR="$HOME/.nvm"
  [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && . "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
  [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && . "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion
您可以将$NVM_DIR设置为任何位置,但从/opt/homebrew/opt/nvm将销毁所有已安装的nvm节点安装升级/重新安装时。

扩展

mac 中.bash_profile 和 .zshrc 区别

.bash_profile 和 .zshrc 均在~目录下 ( cd ~ 进入)

.bash_profile,source ~/.bash_profile,只在当前窗口生效

.zshrc ,source ~/.zshrc,永久生效;计算机每次启动自动执行source ~/.zshrc

一般会在~/.zshrc中添加source ~/.bash_profile,以确保.bash_profile中的修改生效。

找不到 .zshrc或者.bash_profile ?

检查

首先用 cd ~ 进入mac根目录。

然后用 ls -al 查看目录文件。你可以看到.bash_profile和.zshrc两个文件。看不到则要创建。

如果没有

cd ~后使用touch .zshrc或者touch .bash_profile去创建这个文件,创建成功不会有任何返回,之后再使用bash_profile去打开它。

分享一下我的配置

  • .bash_profile
#nvm
source /opt/homebrew/opt/nvm/nvm.sh

export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node
export NVM_IOJS_ORG_MIRROR=http://npm.taobao.org/mirrors/iojs

export NVM_DIR="$HOME/.nvm"
  [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
  [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion
  • .zshrc
source ~/.bash_profile  

最后愉快的使用你的mac吧!