前言
nvm是啥?说白了就是node的版本管理器,它允许在一个操作系统上存在多个nodejs版本。这样在开发时比较方便切换版本。
Mac系统安装nvm采坑记录
nvm的官方网站是github.com/nvm-sh/nvm ,Mac系统安装nvm和windows安装nvm截然不同。windows安装nvm是可执行程序,安装简单的飞起。但是mac安装nvm就会有各种各样的坑。mac系统安装nvm的途径有:
第一种方式:通过homebrew安装(推荐)。
有一个前提就是需要提前安装homebrew,官网是homebrew,安装的命令为: 通过HomeBrew官网介绍的安装方法存在很严重的网络问题,除非有翻墙软件。所以请使用下面的命令进行安装。
# 国内homebrew镜像
/bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install.sh)"
安装完 homebrew后,使用homebrew 安装 nvm
brew install nvm
安装完nvm后,如果在命令行中输入nvm没有找到命令时,需要完成以下几个步骤
- 在/users/xxx 也就是当前用户所在目录分别创建如下文件,其实只需要创建一个即可,这个取决于您终端的类型,在macOS 11以上默认是zsh作为终端,所以只需要在当前用户的根目录创建.zshrc即可:
- .zshrc
- .bash_profile
- .profile
- .bashrc
- 在上述的文件中分别填写上如下代码
source $(brew --prefix nvm)/nvm.sh
第二种方式:通过nvm官方方法安装
通过如下命令安装,此种方法对于中国用户来说是最坑的,主要还是因为网络的问题,您可以在浏览器输入raw.githubusercontent.com 看看能不能打开,如果打不开就别再挣扎了,果断选择第一种方式吧
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
或者
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
看是两种都是简单的执行两行命令。但是隐藏了很多的坑。具体的坑如下
第一个坑:curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
在安装Homebrew或者执行第二种方式时很大概率会出现这个错误,原因在于国内网络的问题导致raw.githubusercontent.com无法定位到正确的IP地址。当然如果你有vpn或者翻墙软件,那么可以忽略这个坑。解决这个坑需要在mac的hosts添加相应的域名与IP的映射。mac系统的hosts文件在 /etc 路径下,即:/etc/hosts 那么域名与IP的映射如何设置?raw.githubusercontent.com对应的IP又是什么呢?可以通过www.ipaddress.com/ 网站去查询对应的IP地址。比如目前查到的:199.232.96.133 这样可以使用如下命令修改
vi /etc/hosts
之后在文件中添加如下内容:
# GitHub Start
140.82.113.3 github.com
140.82.114.3 gist.github.com
199.232.96.133 raw.githubusercontent.com
# GitHub End
修改之后,可以在浏览器去尝试一下能否打开raw.githubusercontent.com这个网站,如果可以则说明配置成功了。
第二个坑:没有安装xcode
我在尝试安装之前是没有安装xcode的,所以上述第一个坑踩完后,第二坑就是没有xcode,解决的问题自然是安装xcode,非常漫长的过程。一个编译器安装有11个G,我也是醉了。
第三个坑:nvm: command not found
出现这个问题说明上述安装脚本并没有对~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc进行配置,此时需要我们手动的去配置写内容。分别在这些文件加入如下代码:
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
如何找到~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc,可以在mac的访达中shift+command+G 这是会提示想要到达的路径,这是需要输入/Users/xxx用户名 ,这时是看不到这些文件的,需要执行shift+command+. 来显示这些隐藏文件。之后就可以使用vi或者vim来编辑了。
设置nvm安装node的中国镜像
windows版本的nvm 使用nvm node_mirror [url] 来配置node的镜像地址。但是mac版本的nvm却没有这个功能。可是官网给了另外一种方法来配置:
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node/
nvm install node