背景:
多个项目的时候, 有的项目要求指定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创建一个,然后再次运行安装脚本
这个提示是说你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)
在
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的问题等,这里就不介绍了