一、node、nvm、npm、npx 区别
node:是一个基于 Chrome V8 引擎的 JS 运行环境。
npm:是 node.js 默认的包管理系统(用 JavaScript 编写的),在安装的 node 的时候,npm 也会跟着一起安装,管理 node 中的第三方插件。
npx:npm 从 v5.2.0 开始新增了 npx 命令,>= 该版本会自动安装 npx,附带:npx 有什么作用跟意义?为什么要有 npx?什么场景使用?。
nvm:node 版本管理器,也就是说:一个 nvm 可以管理多个 node 版本(包含 npm 与 npx),可以方便快捷的 安装、切换 不同版本的 node。
二、node、nvm、npm、npx 关系
nvm 管理 node (包含 npm 与 npx) 的版本,npm 可以管理 node 的第三方插件。
切换不同的 node 版本,npm 与 npx 的版本也会跟着变化。
$ nvm use v8.16.0
Now using node v8.16.0 (npm v6.4.1)
$ nvm use v14.15.4
Now using node v14.15.4 (npm v6.14.10)
$ nvm use v18.6.0
Now using node v18.6.0 (npm v8.13.2)
三、卸载node
若电脑安装了node,最好把node先卸载,检查是否安装node
node -v
有版本号返回,说明已经安装,依次执行以下命令卸载node
sudo npm uninstall npm -g
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
验证是否卸载完成
npm -v
node -v
四、安装nvm
Mac HomeBrew 安装
brew install nvm
五、配置环境变量
如果不能正常使用可以手动配置环境变量
cd ~
vim .bash_profile
然后将下面的配置信息输入保存
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
输入之后 :wq保存并退出编辑。(注意在英文输入法下)
六、刷新环境变量:执行如下命令
source ~/.bash_profile
关闭命令行窗口,然后重启窗口查看是否生效。
这一步可能会出现
complete:13: command not found: compdef
原因:Compdef 基本上是 zsh 用于加载自动完成的函数。需要激活完成系统。
如果您使用的是 oh-my-zsh 之类的东西,那么这已经解决了,否则您需要将以下内容添加到您的 ~/.zshrc
七、配置 zsh
如果新打开的窗口仍无法使用 nvm
则需要手动配置一些 .zshrc 文件 与配置 .bash_profile 文件一致
vim ~/.zshrc
然后将下面的配置信息输入保存
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
输入之后 :wq保存并退出编辑。(注意在英文输入法下)
八、刷新环境变量:执行如下命令
source ~/.zshrc