Mac安装nvm,node

	新的Mac安装nvm,最简单的是先安装nvm,再安装node,官网示例代码也是这么整的,如果已经安装了node,不要慌 多几步终端操作可以“没有如果”。分两种情况:1,还没安装node,直接装nvm,2,先卸载node,再安装nvm,再装node。[node官方说明](https://nodejs.org/zh-cn/download/package-manager)一,先安装nvm:![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c50464a17d354339a731ea97941d9e6b.png#pic_center)先打开终端输入下方命令
// 切换到用户根目录
cd ~
// 查看当前目录所包含文件,是否有 .bash_profile
ls -a

接下来终端执行第一条命令:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

可能会看到以下报错,没有报错说明你nvm安装成功了? 你可以nvm -v看看

curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 23 ms: Couldn't connect to server

说明访问raw.githubusercontent.com资源失败,需要先查出raw.XX域名的ip,配置hosts,再安装执行命令
在这里插入图片描述
查出ip后,按住control+c终止,将ip和域名配到hosts文件,使用终端命令方式

sudo vi /etc/hosts

按一下键盘“ i ”,进入输入状态,把IP和域名加到后边
按一下esc退出编辑,再按shift+: 输入wq 再按enter保存并退出hosts
快捷键shift+command+G,输入 /etc/hosts 可查看修改后。

再执行一次安装命令:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

如果看到以下提醒,你还需要执行一下Xcode-select – install

You may be on a Mac, and need to install the Xcode Command Line Developer Tools.
If so, run `xcode-select --install` and try again. If not, please report this!

install之后再 再执行一次上方的安装命令,
到这里nvm算是安装成功了,再执行nvm安装命令会提示:

nvm is already installed in /Users/fenggao/.nvm, trying to update using git

执行 nvm -v, 会看到缺少文件配置的提示:

zsh: command not found: nvm

接下来要配置一下nvm
快捷键command+shift+G 打开文件查询输入 /Users/mac用户名 打开根目录再用快捷键
command+shift+.,显示所有带“.“的文件名,看一下有没有命名为 .bashrc和**.zshrc**的两个文稿
没有手动新建一下,新建之后把下方代码粘进去

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm

在终端执行下方命令,让配置文件运行生效

source ~/.bashrcsource ~/.zshrc

最后执行nvm -v,就可以看到nvm安装的版本号了,没显示版本号的话,重启终端再试,或者看一下刚刚的文件配置是否多了两行生效配置
在这里插入图片描述

最后就是安装node,只需一个命令

nvm install 20

安装成功后,输入 nvm ls查看安装的node版本,顺带列出几个常用nvm命令
nvm install stable // 下载最新node版本
nvm install nodeVersion // 安装node对应版本,
nvm uninstall nodeVersion // 卸载对应版本
nvm use nodeVersion // 切换到node对应版本

二,mac卸载node
打开终端输入,会查出node的安装目录

which node

接下来依次输入每条卸载命令并回车

sudo rm /usr/local/bin/node
sudo rm -rf /usr/local/bin/npm
sudo rm -rf /usr/local/lib/dtrace/node.d
sudo rm -rf /usr/local/share/man/man1/node.1
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp

终端输入命令查看是否卸载成功

npm -v
node -v

以上是新入手Mac安装nvm,node的历程,由于新电脑安装步步卡住,在这里把遇到的问题整理成笔记方便遇到相同问题的码农参考,整理不易,欢迎评论点载

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

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

相关文章

【C++】初步认识C++

1. 初识C1.1 C概念相关1.2 C发展史及其重要性1.2.1 发展史1.2.2 重要性 2. C关键字3. 命名空间4. 输入和输出 个人主页:C_GUIQU 归属专栏:【C学习】 1. 初识C 1.1 C概念相关 C语言是结构化和模块化的语言,适合处理较小规模的程序。 【来源】…

Qt - 如何在新线程 (QThread)中使用一个进程 (QProcess)?

在Qt中,QThread 用于处理后台任务,而 QProcess 用于启动和管理外部程序。如果你想在一个新的 QThread 中使用 QProcess,你需要了解 QProcess 并不是专门为在特定线程中运行而设计的。实际上,QProcess 通常在创建它的线程&#xff…

Android Bitmap 和Drawable的区别

Bitmap 和 Drawable 是 Android 图形绘制的两种常用方式,它们有各自的特点和使用场景。下面将详细解释它们之间的区别,并通过示例代码说明如何使用它们。 Bitmap 解释 Bitmap 是一种用于存储图像像素数据的类,通常用于图像处理和操作。Bit…

ctfshow-web入门-命令执行(web118详解)Linux 内置变量与Bash切片

输入数字和小写字母,回显 evil input 查看源码,发现这里会将提交的参数 code 传给 system 函数 使用 burpsuite 抓包进行单个字符的模糊测试 fuzz: 发现过滤掉了数字和小写字母以及一些符号,下面框起来的部分是可用的 结合题目提…

通过自研大批量数据导入导出框架,流式处理、异步执行、流量拥塞控制,智能多线程并发入库,高并发场景下任务进行限流排队,实现单机百万级数据每秒2500单导入

自研大批量数据导入导出框架,实现高效率的数据操作通常需要考虑以下几个关键技术点: 1. **流式处理(Streaming)**: - 数据以流的形式被处理,而不是一次性加载到内存中。这可以显著减少内存使用&#xf…

【C++】开源:命令行解析库CLI11配置与使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍命令行解析库CLI11配置与使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&#x…

ETCD概述--使用/特性/架构/原理

ETCD概述 ETCD是一个高度一致的分布式键值存储, 它提供了一种可靠的方式来存储需要由分布式系统或机器集群访问的数据(高可用, 强一致性)​全局的配置服务中心. 本文将介绍其特性、相关操作和常见的应用场景. 如果想了解更多, 请查阅我的技术博客: https://dingyuqi.com 特性 …

开启IT探索之旅:高考后的暑期学习指南

方向一:基础课程预习指南 1. 计算机科学导论 这门课程是所有IT专业的基础,它将带你了解计算机的基本原理、发展历史及计算机科学的主要研究领域。可以通过以下资源进行学习: 书籍:《计算机科学概论》 by Brookshear在线课程&#…

python 使用selenium谷歌如何设置无头模式

在使用Selenium和ChromeDriver时,如果你想要在Python中设置无头模式(headless mode),你需要在创建Chrome WebDriver实例时通过ChromeOptions来设置。无头模式允许你在没有图形界面的环境中运行Chrome浏览器,这在进行自…

(单片机)

一、串口 (Serial Port / UART) 串口(Serial Port)、IC(Inter-Integrated Circuit)、SPI(Serial Peripheral Interface)是三种常用的微控制器之间的通信协议。下面我将分别解释这些通信方式的概念、特点和常见使用场景,并提供一个简单的示例代码框架。 串口 (Serial P…

frp http转发

解决HTTP协议API中域名变更后,已部署设备无法数据上传问题 HTTP协议API中包含域名 通过http://api_domain.com/xxx/xxx/xxx/xxx上传数据到WEB服务器。 变更前 api_domain.com 绑定在2xx.xxx.xxx.xxx上面。2xx.xxx.xxx.xxx部署了需要访问的WEB服务。 变更后 new_domain.c…

新章节:全设备通用调度算法-通讯重构

新章节:全设备通用调度算法-通讯重构 文章目录 新章节:全设备通用调度算法-通讯重构前言一、重构了TCP和UDP通讯二、优化了OPC和OPCUA三、升级了监控客户端四、升级了通讯的图形化其他升级 前言 现在真的很懒也很少写代码了,写代码和更新进度…

ActiViz中的颜色映射表vtkLookupTable

文章目录 一、简介二、VtkLookupTable的创建与初始化三、设置数据范围四、颜色映射设置五、不透明度设置六、自定义颜色映射七、 不连续性颜色映射八、 预设颜色映射方案九、可视化效果优化十、与其他VTK组件的整合十一、 动态调整映射表十二、保存和加载颜色映射表一、简介 V…

数据赋能(137)——开发:数据映射——实施过程、应用特点

实施过程 数据映射的实施过程通常涉及以下几个关键步骤: 定义阶段: 明确需要移动或映射的数据,包括源数据和目标数据的格式、结构以及传输频率。定义表格、每个表格中的字段,以及移动后字段的格式。映射数据阶段: 将…

webSocket网页通信---使用js模拟多页面实时通信

webSocket是什么 WebSocket是一种先进的网络技术,它提供了一种在单个TCP连接上进行全双工通信的能力。传统的基于HTTP的通信是单向的,即客户端发起请求,服务器响应请求,然后连接关闭。但是,WebSocket允许服务器和客户端…

欧盟,又出了新规-通用充电器新规通用充電器的 RED 修正案如何办理?

欧盟,又出了新规-通用充电器新规通用充電器的 RED 修正案如何办理? 欧盟新规委员会发布《通用充电器指令》指南通用充電器的 RED 修正案办理流程: 2024年5月7日,欧盟委员会发布《通用充电器指令》指南,修订了《无线…

Linux之进程控制(下)

目录 进程替换的概念 进程替换的函数 execl​编辑 execlp execle execv execvp execve 上期,我们学习了进程创建,进程终止和进程等待,今天我们要学习的是进程控制中相对重要的板块------进程替换。 进程替换的概念 在进程创建时&…

【 香橙派 AIpro评测】大语言模型实战教程:香橙派 AIpro部署LLMS大模型实站(保姆级教学)

引言 OrangePi AIpro 这块板子作为业界首款基于昇腾深度研发的AI开发板,一经发布本博主就火速去关注了,其配备的 8/20TOPS澎湃算力是目前开发板市场中所具备的最大算力,可谓是让我非常眼馋啊!这么好的板子那必须拿来用用&#xff…

LeetCode热题100刷题6:160. 相交链表、206. 反转链表、234. 回文链表、141. 环形链表、142. 环形链表 II

160. 相交链表 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/ class Solution { public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {ListNode…

QDockWidget类详解

一.QDockWidget类概述 1.QDockWidget类 QDockWidget类提供了一个特殊的窗口部件,它可以是被锁在QMainWindow窗口内部或者是作为顶级窗口悬浮在桌面上。 QDockWidget类提供了dock widget的概念,dock widget也就是我们熟悉的工具面板或者是工具窗口。Do…