Mac上安装 Node.js 的版本管理工具 n,以及 n 使用,的使用

安装

最近刚更换 Mac 本进行项目的开发,刚上手 Mac 本还不是很熟练,需要安装 Node.js 的包管理工具

在 Windows 上我是实用的 nvm 来管理的 Node 版本,但是我尝试下载 Nvm ,发现下载安装后的 Nvm 无法使用,提示 "This is not the package you are looking for: please go to http://nvm.sh"。同事告诉我在Mac 需要实用 n 这个工具

于是就去网上查了一下,发现千遍一律的都是让你使用 Homebrew 来安装,但是我的 Mac 本安装了 Homebrew 后依旧无法下载这个管理工具,大致错误提示是 "Failed to connect to raw.githubusercontent.com port 443: Connection refused"

后来经过一番操作,发现其实安装 n 完全不需要使用 Homebrew 呀。完全可以使用 npm 去安装,合并要弄的这么麻烦

一、首先先去 node 官网随便下载一个 node 安装在自己电脑上,这一步的目的是让你的电脑上有 npm 可用

二、然后再 通过 npm 去安装 n 这个工具,命令如下:

javascript 复制代码
npm install -g n // 安装


n --version // 查看版本

老规矩,安装之后能查看到版本表示安装成功,如下图:

此致,n 安装成功

使用

使用命令跟 nvm 差不多的,这里就罗列几个我常用的命令,其他的命令大家前官网看

javascript 复制代码
// 安装node.  sudo:类似于winsows的管理员身份。安装版本号前需要给一个v
sudo n install v16.20.0  


// 使用某个版本。不需要加 v
sudo n use xxx

sudo n use 16.20.0



// 卸载某个版本
sudo uninstall xxx
sudo uninstall 16.20.0

踩坑

一、版本切换不成功:

我常用的 node 版本是 16.20.0 14.20.1 于是我就使用 install 安装了这两个版本的 node,我先安装的 16.20.0 版本,然后使用 use 切换到这个版本,再 node -v 查看当前的 node 版本,确实是 16.20.0,到这里一切正常

于是我又实用 install 安装了 14.20.1,这时候我并没有再使用 use 去切换 node 版本,发现我的 node 版本既然神奇的自己切换到 14.20.1 这个版本了,于是我再次使用 use 去切换回 16.20.0 的版本,提示我却换成功,但是实际node却依旧是 14.20.1,也就是没有却换成功。

使用 use 切换 node 版本成功,提示 "Welcome to Node.js v16.20.0."

但是 node -v 依旧是 14.20.1

什么意思?难到会自己切换到最后安装的版本上??于是我卸载了上面两个 node 版本,随便去下载了俩个 14.20.5。 14.20.7。 发现确实会自己切换到最后下载的版本上

二、切换不成功的处理办法

至于为什么切换不成功,刚接触 Mac本还没有去深入了解,先解决遇到的问题再说

既然命令切换不成功其实还有一种切换方法

在终端中输入 n 会看到你当前下载的 node 版本列表,并且下面有一段提示:

Use up/down arrow keys to select a version, return key to install, d to delete, q to quit

使用上下方向键选择版本,回车键安装,d键删除,q键退出

也就是说我们可以直接通过上下键选择版本,回车键切换 node 版本,这样比使用命令还方便

上下键选择版本,回车确认后会看到如下的输出:

最后版本切换成功:

所以别再都使用 Homebrew 去安装了,直接 npm 去安装也是可行的,还更加方便

相关推荐
灰色人生qwer34 分钟前
快速删除 node_modules 目录的集中方法
node.js·node_modules
Narutolxy2 小时前
从 Mac 远程控制 Windows:一站式配置与实践指南20241123
windows·macos
2401_890666135 小时前
(免费送源码)计算机毕业设计原创定制:Java+JSP+HTML+JQUERY+AJAX+MySQL springboot计算机类专业考研学习网站管理系统
java·python·django·flask·node.js·html·课程设计
WeeJot嵌入式6 小时前
macOS开发环境配置与应用开发指南
macos
okmacong7 小时前
4、MAC地址、ARP协议解析
服务器·网络·macos
菜鸟小贤贤7 小时前
mac安装Pytest、Allure、brew
python·macos·自动化·pytest
小江村儿的文杰8 小时前
UE4 iOS Package的过程与XCode工程中没有游戏Content的原因
macos·ios·ue4·xcode
说书客啊12 小时前
计算机毕业设计 | SpringBoot+vue线上家具商城 家居商品购买系统(附源码+论文)
java·spring boot·node.js·vue·毕业设计·智能家居·课程设计
家有狸花13 小时前
Node.js笔记(四)局域网聊天室2:服务端接受客户端消息
笔记·node.js
丁总学Java13 小时前
thread_id_key != 0x7777(`fibers` 包与 Node.js 16 及以上版本存在兼容性问题)
node.js·fibers