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 这个工具,命令如下:

npm install -g n // 安装n --version // 查看版本

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

此致,n 安装成功

使用

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

// 安装node.  sudo:类似于winsows的管理员身份。安装版本号前需要给一个v
sudo n install v16.20.0  // 使用某个版本。不需要加 v
sudo n use xxxsudo 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 去安装也是可行的,还更加方便

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/325203.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HDU - 2063 过山车(Java JS Python C)

题目来源 Problem - 2063 (hdu.edu.cn) 题目描述 RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了。 可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个男生做partner和她同坐…

git打tag以及拉取tag

场景:某次git代码发布后定版记录,将发版所在的commit时候代码打上tag记录,方便后期切换到对应tag代码位置。 查看所有tag名 git tag// 1.1.0 // 1.0.0查看tag和描述 git tag -l -n//1.0.0 云监管一期项目完结 //1.1.0 …

c语言-指针练习题

目录 前言一、题目一二、题目二总结 前言 为了巩固c语言中关于指针知识点的掌握,本篇文章记录关于指针的练习题。 一、题目一 有n个整数,使前面各数顺序往后移动m个位置,最后m个数变成最前面的m个数 写一函数实现以上功能,在主函…

什么是谐波减速机?日本Harmonic哈默纳科谐波减速机有哪些优点?

一、什么是谐波减速机? 谐波减速装置最早期被叫做“strain wave gearing”,直译过来为“应变波齿轮”。其后被HarmonicDrive Systems 公司大规模商业实用化后,经过二次翻译后,中文名称才将其称为“谐波齿轮传动”。 谐波减速机是…

Java后端开发——Ajax、jQuery和JSON

Java后端开发——Ajax、jQuery和JSON 概述 Ajax全称是Asynchronous Javascript and XML,即异步的JavaScript和 XML。Ajax是一种Web应用技术,该技术是在JavaScript、DOM、服务器配合下,实现浏览器向服务器发送异步请求。 Ajax异步请求方式不…

Elasticsearch 8.X进阶搜索之“图搜图”实战

Elasticsearch 8.X “图搜图”实战 1、什么是图搜图? "图搜图"指的是通过图像搜索的一种方法,用户可以通过上传一张图片,搜索引擎会返回类似或者相关的图片结果。这种搜索方式不需要用户输入文字,而是通过比较图片的视…

查看进程对应的路径查看端口号对应的进程ubuntu 安装ssh共享WiFi设置MyBatis 使用map类型作为参数,复杂查询(导出数据)

Linux 查询当前进程所在的路径 top 命令查询相应的进程号pid ps -ef |grep 进程名 lsof -I:端口号 netstat -anp|grep 端口号 cd /proc/进程id cwd 进程运行目录 exe 执行程序的绝对路径 cmdline 程序运行时输入的命令行命令 environ 记录了进程运行时的环境变量 fd 目录下是进…

小梅哥Xilinx FPGA学习笔记20——无源蜂鸣器驱动设计与验证(音乐发生器设计)

目录 一:章节导读 二:无源蜂鸣器驱动原理 三:PWM 发生器模块设计 3.1 PWM 发生器模块框图 3.2 PWM 发生器模块接口功能描述 3.3 PWM波生成设计文件代码 3.4 测试仿真文件 3.5 测试仿真结果 3.6 板级调试与验证之顶层文件设计 四&am…

支持 input 函数的在线 python 运行环境 - 基于队列

支持 input 函数的在线 python 运行环境 - 基于队列 思路两次用户输入三次用户输入 实现前端使用 vue element uiWindows 环境的执行器子进程需要执行的代码 代码仓库参考 本文提供了一种方式来实现支持 input 函数,即支持用户输的在线 python 运行环境。效果如下图…

UE5.1_UMG序列帧动画制作

UE5.1_UMG序列帧动画制作 UMG序列帧动画制作相对比较简单,不像视频帧需要创建媒体播放器那么复杂,以下简要说明: 1. 事件函数 2. 准备序列帧装入数组 3. 构造调用事件函数 4. 预览 序列帧UMG0105 5. 完成!按需配置即可。

【Mars3d】new mars3d.layer.GeoJsonLayer({不规则polygon加载label不在正中间的解决方案

问题: 1.new mars3d.layer.GeoJsonLayer({type: "polygon",在styleOptions里配置label的时候,发现这个 不规则polygon加载的时候,会出现label不在中心位置。 graphicLayer new mars3d.layer.GeoJsonLayer({ name: "全国省界…

macosx编译qgroundcontrol源码(Qt6.7)

1.克隆源码: clone --recursive http://github.com/mavlink/qgroundcontrol.git 克隆成功 3.编译 编译环境要求: 编译方法: 使用QtCreator编译 使用命令行编译 打开QGroundControl.pro并编译IOS版本 旧版本使用Qt 5.15.2 run qmake 新版本使用Qt 6.6或者更高 IOS工程输出要…