前置
卸载n
和当前安装的Node.js版本
-
打开终端(Terminal)。
-
如果您知道
n
安装的位置,可以直接使用rm
命令删除。如果不确定,可以尝试找到它的安装路径:which n
这将显示
n
的路径,例如/usr/local/bin/n
。 -
删除
n
的执行文件:sudo rm -rf /usr/local/bin/n
(请确保将上面的路径替换为
which n
命令给出的实际路径。) -
清除由
n
安装的Node.js版本。n
通常将Node.js安装在/usr/local/n/versions/node/
:sudo rm -rf /usr/local/n
-
如果
n
修改了PATH
环境变量,你可能需要从.bashrc
、.bash_profile
、.zshrc
等文件中删除相关的行。你可以使用文本编辑器手动编辑这些文件,或者使用以下命令来尝试自动删除(以.zshrc
为例):sed -i '' '//usr/local/n/versions/node/d' ~/.zshrc
(请根据您使用的shell和配置文件路径调整上述命令。)
-
重新加载配置文件或重新启动终端。
安装nvm
brew install nvm
光安装完之后,如果不做其它的处理,下次当你打开命令行的时候,nvm其实是无法正常运行的,因此还需要将一些命令放入终端初始化文件 ~/.bash_profile
中。
~
的意思就是home目录,即当前用户的个人目录,它的真实路径位于/Users/{用户名}
。
# 将以下三行命令写入 ~/.bash_profile
echo "export NVM_DIR="$HOME/.nvm"">>~/.bash_profile && \
echo ". "/usr/local/opt/nvm/nvm.sh"">>~/.bash_profile && \
echo "export NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node">>~/.bash_profile && \
# 在当前命令行执行该文件
. ~/.bash_profile
使用nvm
安装Node.js
-
现在,您可以使用
nvm
安装Node.js的任意版本。例如,安装最新的LTS版本:nvm install --lts
-
或者,您可以指定一个特定的版本号:
nvm install 14
-
切换到已安装的某个版本:
nvm use 14
通过这些步骤,您已经成功地从n
切换到了nvm
。现在您可以更灵活地管理Node.js的不同版本了。
不同文件夹自动切换node
确保vscode的终端是 bash
open ~/.bash_profile
# place this after nvm initialization!
autoload -U add-zsh-hook
load-nvmrc() {
local nvmrc_path
nvmrc_path="$(nvm_find_nvmrc)"
if [ -n "$nvmrc_path" ]; then
local nvmrc_node_version
nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
if [ "$nvmrc_node_version" = "N/A" ]; then
nvm install
elif [ "$nvmrc_node_version" != "$(nvm version)" ]; then
nvm use
fi
elif [ -n "$(PWD=$OLDPWD nvm_find_nvmrc)" ] && [ "$(nvm version)" != "$(nvm version default)" ]; then
echo "Reverting to nvm default version"
nvm use default
fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc
source ~/.bash_profile
然后项目根目录下配置 .nvmrc
16.20.2