Node版本管理-nvm安装和使用(Mac下)

2,949 阅读3分钟

image.png

背景:

多个项目的时候, 有的项目要求指定node版本,那么我们就需要切换Node版本。 比如你正在做一个项目,领导又给了你个需求,说这个项目要求指定node版本,需要切换nodejs版本为:v16.17.1。 那么你该怎么做呢?nvm就是进行node版本管理的工具。熟悉的同学可以直接跳过,去github上看。

操作系统: MacOs

步骤:

安装nvm:

安装命令:

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

有哪个用哪个命令安装,没有就去百度怎么安装curl或者wget, curl -V 可以查看curl是否安装成功

安装原理(重要):

必看:!!!

执行curl安装脚本后 会将nvm资源库克隆到~/.nvm文件夹,并尝试将下面export ... 那一坨的源行添加到正确的配置文件 (~/.bash_profile、~/.zshrc、~/.profile或~/.bashrc)

验证是否安装成功:

安装后重启,然后使用下面命令确认是否安装成功。

command -v nvm

安装失败 command not found nvm 的问题:

如果安装后提示没找到,那么就看下为什么没有安装成功,(一般安装后都是有一段原因的,仔细看看)

比如下面的情况:就属于没有配置文件导致的找不到

从macOS 10.15开始,默认的shell是zsh。

nvm会寻找.zshrc来更新,默认情况下没有安装。

用touch ~/.zshrc创建一个,然后再次运行安装脚本

image.png

image.png

这个提示是说你nvm已经安装到了用户/用户名下的.nvm 了, 但是没有找到配置文件。

配置文件可以是~/.bashrc, ~/.zshrc, ~/.bash_profile, ~/.zprofile, ~/.profile(*ksh*的配置文件)

至于具体使用的哪个脚本,你可以使用echo $0 查看,

是zsh的话就要新建一个touch ~/.zshrc配置文件。

如果是bash,那你就新建~/.bash_profile

例如上图其实可以看到这里使用是zsh脚本。

他提供了2种解决方案:

  • 创建配置文件后,重新运行curl脚本安装
  • 创建配置文件后,手动将下面的内容写入到配置文件中,然后source 运行一下使之立即生效
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

最后,重启你现在使用的终端(不想重启可以开启一个新窗口,或者source配置文件,总之就是让新写入的配置生效)

shell 脚本

查看shell:

你可以通过

echo $0

可以查看当前使用的是哪个脚本(shell)

image.png

mac系统中,在之前的终端是使用bash的。从 macOS Catalina (macOS 10.15)版开始,bash下岗了,被zsh这个更先进的终端系统所替代

macOS Catalina是苹果macOS的一个系统版本。2019年10月8日,macOS Catalina正式上线。

查看系统有哪些shell
cat /etc/shells
切换shell:
chsh -s /bin/bash
查看配置文件
cat ~/.zshrc
或
open ~/.zshrc
立即生效

source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。因为linux所有的操作都会变成文件的格式存在。

source ~/.zshrc
新建或者编辑配置文件
vi ~/.zshrc
或者
touch ~/.zshrc

nvm的使用:

1. 下载指定node

 nvm install v16.17.1

2. 查看已下载的node列表

 nvm ls

3. 切换指定版本

nvm use v16.17.1

3. 查看当前使用的node版本

node -v

总结:

终端使用zsh 还是bash 并没有关系,主要是要确认当前的包需要的配置是否写到了你当前的配置文件中。无论是自动还是手动写入,都记得重启一下或者source一下使他立即生效。 如果还可以其他的问题可以去github上查看,包括windows下怎么用,git的安装方式,xscode的问题等,这里就不介绍了