在 Mac 下安装 nvm 管理 node
nvm文档手册:https://nvm.uihtm.com/
在使用 node 的过程中,用 npm 安装一些模块,特别是全局包的时候,由于 Mac 系统安全性的限制,经常出现安装没有权限,或者安装完成使用时出现 Command not found 的情况。
之前我都是通过使用修改权限的方式来解决,但是太麻烦又感觉不太安全,于是我就到网上找解决的方法,发现其实官方也是推荐我们使用 node 的管理工具来解决这个问题的。官方推荐了两个 n 和 nvm,这里我选择的是 nvm。
至于两者的区别可以看一下淘宝团队的一篇文章管理node版本,选择nvm还是n?
Mac 安装
在 Mac 下 nvm 的安装和遇到的问题。
注意:不要使用
Homebrew安装nvm,这个在nvm的官方文档中有说明。
具体的步骤如下:首先打开终端,进入当前用户的 home 目录中。
cd ~
然后使用 ls -a 显示这个目录下的所有文件(夹)(包含隐藏文件及文件夹),查看有没有 .bash_profile 这个文件。
ls -a
如果没有,则新建一个。
touch ~/.bash_profile
如果有或者新建完成后,我们通过官方的说明在终端中运行下面命令中的一种进行安装:
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
在安装完成后,也许你会在终端输入 nvm 验证有没有安装成功,这个时候你会发现终端打出 Command not found,其实这并不是没有安装成功,你只需要重启终端就行,再输入 nvm 就会出现 Node Version Manager 帮助文档,这表明你安装成功了。
注意
这里需要注意的几点就是:
第一点 不要使用 homebrew 安装 nvm
第二点 关于 .bash_profile 文件。如果用户 home 目录下没有则新建一个就可以了,不需要将下面的两段代码写进去,因为你在执行安装命令的时候,系统会自动将这两句话写入 .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
网络上我找了好多文章都是说在安装前先手动将下面这两句话写进去,经过测试是不正确的,并且会造成安装不成功,这一点需要注意一下。
export NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
第三点 保证 Mac 中安装了 git,一般只要你下载了 Mac 的 Xcode 开发工具,它是自带 git 的。
安装node.js版本
nvm list available 显示可下载版本的部分列表

nvm install latest安装最新版本 ( 安装时可以在上面看到 node.js 、 npm 相应的版本号 ,不建议安装最新版本)

nvm install 版本号 安装指定的版本的nodejs

查看已安装版本
nvm list或nvm ls查看目前已经安装的版本 ( 当前版本号前面没有 * , 此时还没有使用任何一个版本,这时使用 node.js 时会报错 )


切换node版本
nvm use版本号 使用指定版本的nodejs ( 这时会发现在启用的 node 版本前面有 * 标记,这时就可以使用 node.js )

nvm切换国内镜像
如果下载node过慢或者安装失败,请更换国内镜像源, 在 nvm 的安装路径下,找到 settings.txt,设置node_mirro与npm_mirror为国内镜像地址。下载就飞快了~~
root: D:\nvm
path: D:\nodejs
nvm npm_mirror https://npmmirror.com/mirrors/npm/
nvm node_mirror https://npmmirror.com/mirrors/node/
或者:
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
命令行切换(注意:请切换国内镜像后再安装node版本,否则会很慢)
阿里云镜像
nvm npm_mirror https://npmmirror.com/mirrors/npm/
nvm node_mirror https://npmmirror.com/mirrors/node/
腾讯云镜像
nvm npm_mirror http://mirrors.cloud.tencent.com/npm/
nvm node_mirror http://mirrors.cloud.tencent.com/nodejs-release/
打开链接查看可以node版本:https://registry.npmmirror.com/binary.html?path=node/