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语言是结构化和模块化的语言,适合处理较小规模的程序。 【来源】…

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

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

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

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

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

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

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

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

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…

nginx转发的问题

我在项目配置的时候遇到一个问题: 配置了域名转发,且配置了https nginx配置如下: server {listen 443 ssl;server_name yourdomain.com;ssl_certificate /path/to/your/certificate.crt;ssl_certificate_key /path/to/your/private.key;loca…

10.SQL注入-http header利用案例

SQL注入-http header利用案例 首先通过登录http头界面,如图所示:登录的信息会被记录到数据库中去,同时使用bp进行抓包分析 将抓包的数据发送repeater里面进行调试 通过useragent进行注入 将useragent对应的数据信息删除掉,输入单引号测试被后台执行报错sql语法…

【Python机器学习】模型评估与改进——带交叉验证的网格搜索

虽然将数据划分为训练集、验证集、测试集的方法是可行的,也相对常用,但这种方法对数据的划分相当敏感,为了得到对泛化性能的更好估计,我们可以使用交叉验证来评估每种参数组合的性能,而不是仅将数据单次划分为训练集与…

为什么要在成像应用中使用图像采集卡?

达到最大产量是工业和工厂自动化的关键标准之一。提高传感器分辨率和帧速率有助于实现这一目标,但也使带宽达到极限,并提出了新的传输问题。当前高带宽接口(如10GigE、相机直接与PC连接和嵌入式系统)的实现促使成像应用的许多用户询问如何以最佳配置最优…

vue3进阶,渲染函数使用

目录 渲染函数使用场景 h() 渲染函数 渲染函数基础写法 渲染函数的组件传参,事件传递 渲染函数的插槽使用 结语 渲染函数使用场景 在写这篇文章之前,我会先简单说一下渲染函数,并且我会在第一个渲染函数的介绍中,标名渲染函数…

[Go 微服务] Kratos 验证码业务

文章目录 1.环境准备2.验证码服务2.1 kratos 初始化验证码服务项目2.2 使用 Protobuf 定义验证码生成接口2.3 业务逻辑代码实现 1.环境准备 protoc和protoc-gen-go插件安装和kratos工具安装 protoc下载 下载二进制文件:https://github.com/protocolbuffers/protobu…

探索智慧校园人事系统:社会关系管理功能全解析

智慧校园人事系统中的社会关系管理模块,旨在通过数字化手段,高效、安全地记录与管理教职工的社会联系信息,包括但不限于家庭成员、紧急联系人、学术合作关系、社会兼职等,旨在促进学校对教职工个人生活关怀及职业网络拓展的理解和…

四、(2)获取数据(补充urllib)(爬虫及数据可视化)

四、(2)获取数据(补充urllib)(爬虫及数据可视化) urllibget请求post请求User-AgentResponse模拟真实信息在豆瓣spider中真实实现 urllib 此处的扩展,可以进行在主体的程序学习完成后&#xff0…

【数据结构】04.双向链表

一、双向链表的结构 注意:这里的“带头”跟前面我们说的“头节点”是两个概念,带头链表里的头节点,实际为“哨兵位”,哨兵位节点不存储任何有效元素,只是站在这里“放哨的”。 “哨兵位”存在的意义:遍历循…