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.mzph.cn/news/600432.shtml

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

相关文章

性能优化-OpenMP基础教程(五)-全面讲解OpenMP基本编程方法

本文主要介绍OpenMP编程的编程要素和实战,包括并行域管理详细实战、任务分担详细实战。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC)开发基础教程 🎀C…

宏基因组序列分析工具EukRep

文章:Genome-reconstruction for eukaryotes from complex natural microbial communities | bioRxiv 仓库:patrickwest/EukRep: Classification of Eukaryotic and Prokaryotic sequences from metagenomic datasets (github.com) 推荐使用conda进行安…

开启Android学习之旅-3-Android Activity

Android Activity 本文总结《第一行代码 Android》第3版的内容 环境: Android Studio Giraffe | 2022.3.1 Patch 3 Activity 是什么? Activity 简单将就是UI界面,包含两部分 Activity 类 和应用布局文件,如果是 Compose 则另说&…

DS|图(连通与生成树)

题目一:DS图 -- 图的连通分量 题目描述: 输入无向图顶点信息和边信息,创建图的邻接矩阵存储结构,计算图的连通分量个数。 输入要求: 测试次数t 每组测试数据格式如下: 第一行:顶点数 顶点…

【Linux进程】 进程的理解

目录 前言 1. 系统管理 2. 进程 2.1 概念 2.2 进程的调度 2.3 描述进程-PBC 3. 查看进程 4. 通过系统调用获取进程标示符 前言 在计算机科学领域,进程是一种重要的概念,在日常学习中也经常遇到进程这个概念,那么进程到底是什么&#x…

tkinter实现一个简易窗口

tkinter目录 1. 最简易的窗口2. 加了标签、按钮、输入框,并且按钮连接了函数 1. 最简易的窗口 import tkinter as tkwindow tk.Tk()window.title(我的窗口) # 设置窗口名 window.geometry(500x300) # 设置窗口长宽label tk.Label(window, text文字文字文字, bg…

Vue3中使用动态组件

文章目录 使用方式:使用场景: 在 Vue 3 中,动态组件是一种允许在运行时动态切换组件的机制。Vue 3 提供了 元素以及 is 特性来实现动态组件的切换。 使用方式: 1、使用 元素 在模板中使用 元素,通过 is 特性来动态切换…

CSS基础笔记-01CSS概述

文章目录 前言CSS是什么CSS的作用CSS语法添加CSS的方法 前言 CSS是什么?有什么作用?怎么编写CSS?怎样添加CSS?本文对CSS的四个方面作了学习并形成学习笔记。 CSS是什么 CSS (Cascading Style Sheets,层叠…

CentOS 多节点一键免密登录

文章目录 一、场景说明二、脚本职责三、参数说明四、操作示例五、注意事项 一、场景说明 本自动化脚本旨在为提高研发、测试、运维快速部署应用环境而编写。 脚本遵循拿来即用的原则快速完成 CentOS 系统各应用环境部署工作。 统一研发、测试、生产环境的部署模式、部署结构、…

解决2023新版Edge浏览器页面加载不出来问题

2023年推出的新版Edge浏览器为用户带来了更好的性能和用户体验。然而,有一些用户反馈称他们在使用新版Edge浏览器时遭遇了页面加载不出来的问题。本篇博客将详细介绍如何解决这个问题,以确保您能够顺畅地使用新版Edge浏览器浏览网页。 1、清除缓存和Coo…

使用 Python 进行贝叶斯优化

一、介绍 贝叶斯优化是一种先进的技术,用于优化评估成本高昂的函数。该策略为全局优化提供了原则性策略,强调探索(尝试新领域)和开发(尝试看起来有前途的领域)之间的平衡。 二、什么是贝叶斯优化&#xff1…

Mysql 分割字符串,一行变多行,@rownum,mysql.help_topic

1 前言 朋友最近遇到一个比较棘手的 sql 问题,让我帮忙看看: 他有两张表 testa 和 testb ,一个表存的日期,另一个表存字符串例如 2023-11-01,2023-11-02,如何将这两张表关联起来,只查 testa 表的数据&#…

streamlit 入门demo

一、介绍 Streamlit 是一个用于创建数据应用程序的 Python 库,它致力于简化从数据脚本到可部署应用程序的整个过程。通过 Streamlit,你可以使用熟悉的 Python 语言创建交互式的、美观的数据应用,而无需深入了解前端开发。 二、优势和特点 简…

分布式基础概念

分布式基础概念 1 微服务 微服务架构风格,就像是把一个单独的应用程序开发为一套小服务,每个小服务运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API。这些服务围绕业务能力来构建,并通过完全自动化部署机制…

AUTOSAR从入门到精通-漫谈autosar软件架构(七)

目录 前言 原理 AUTOSAR软件开发现状 Autosar分层架构 基础软件层(BSW)

【Path的使用】Node.js中的使用Path模块操作文件路径

😁 作者简介:一名大四的学生,致力学习前端开发技术 ⭐️个人主页:夜宵饽饽的主页 ❔ 系列专栏:Node.js 👐学习格言:成功不是终点,失败也并非末日,最重要的是继续前进的勇…

Jenkins集成部署java项目

文章目录 Jenkins简介安装 Jenkins简介 Jenkins能实时监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象的展示项目构建的趋势和稳定性。 官网 安装 在官网下载windows版本的Jenkins 但是我点击这里浏览器没有反应&#xff0…

Vue3-38-路由-路由的懒加载

什么是路由的懒加载 一句话概括 : 懒加载,就是在初次用到的时候才执行加载;而非一上来就全部加载完毕。优点 : 可以提高项目的访问效率。因为一上来不用加载所有的资源。建议 : 项目中的所有路由配置都配置为 懒加载…

使用 KubeSphere 与极狐GitLab 打造云原生持续交付系统

极狐GitLab 简介 极狐GitLab 是一个一体化的 DevOps 平台,可以简单理解为 GitLab 在国内的“发行版”。是由极狐(GitLab)公司推出的产品(极狐(GitLab)公司是以“中外合资3.0”模式成立的公司,在国内独立运营,为国内用户提供适合本…

test mutation-00-变异测试概览

拓展阅读 test 系统学习-04-test converate 测试覆盖率 jacoco 原理介绍 test 系统学习-05-test jacoco 测试覆盖率与 idea 插件 test 系统学习-06-test jacoco SonarQube Docker learn-29-docker 安装 sonarQube with mysql Ubuntu Sonar 突变测试是什么? …