mac nvm安装及使用(nvm安装指定版本node npm pnpm)

news2024/12/28 18:53:37

mac nvm安装及使用(nvm安装指定版本node npm pnpm)

1.卸载电脑的node

打开终端:依次执行以下命令:
sudo rm -rf /usr/local/bin/npm
sudo rm -rf /usr/local/share/man/man1/node.1
sudo rm -rf /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm /usr/local/bin/node
验证: node -v 不显示版本号即为卸载成功

2.安装 nvm

终端窗口输入以下命令
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
在这里插入图片描述

如报这个错 curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 8 ms: Couldn’t connect to server
说明 raw.githubusercontent.com 的ip地址变了,需要配置环境变量

去 https://www.ipaddress.com/ip-lookup 这里查询ip

新增一行以下代码配置hosts : (查询最新的ip)
185.199.111.133 raw.githubusercontent.com
再次重试就可以了
安装成功的样子
在这里插入图片描述

如果安装成功后终端输出红框提示则需要配置环境变量:将这个复制出来,粘贴到终端上,回车执行一下就可以了,或者一个新的项目文件夹下提示command not found: nvm , 也是需要配置环境变量
在这里插入图片描述

在这里插入图片描述

配置环境变量:为了让终端能够识别并使用nvm,你需要将nvm的路径添加到你的shell配置文件中。执行以下命令来配置环境变量

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

每一个新的项目文件夹下都要配环境变量,否则会报command not found: nvm,这段代码直接粘贴到终端回车就行了

输入 nvm --version 出现nvm版本号则安装成功

3.安装node

1.先执行 nvm install node 安装最新的node
2.在执行 nvm install v8.8.0 安装指定版本(v8.8.0)的node

4.常用的nvm命令

nvm use 来切换当前使用的Node.js版本
nvm list来列出已安装的版本等
nvm --help来查看所有可用的命令和选项

// 使用nvm 查看可使用的在线node版本
nvm ls available // windows
nvm ls-remote // MacOS
// 下载node指定版本
nvm install 12.14.1
nvm install 20.14.0
// 查看管理的node版本
nvm ls
// 使用指定的node版本
nvm use 20.14.0
// 卸载指定node版本 需要切换到其他版本
nvm uninstall 12.14.1

4.安装指定版本的npm

  1. nvm use 16.20.0 //切换到对应的node版本:
  2. npm install -g npm@6.14.8 //在该node版本下全局安装npm
  3. npm -v // 查看版本号 验证安装是否成功

5.安装指定版本的pnpm

  1. nvm use 16.20.0 //切换到对应的node版本:
  2. npm install -g pnpm@8.6.2 //在该node版本下全局安装pnpm
  3. pnpm -v // 查看版本号 验证安装是否成功

6.node版本与npm pnpm 版本关系

node版本下安装的npm 或者pnpm 是一一对应的,如果切换node版本,对应版本下的npm 或者pnpm也会切换,如果切换node版本后, pnpm/npm -v 发现没有安装,则需要安装

设置镜像源相关命令

什么时候用: npm install 包 报错的时候,或者想要切换镜像源的时候

#查看当前镜像源地址
npm config get registry
#强制清除npm缓存
npm cache clean --force 
#设置镜像源
npm config set registry https://registry.npm.taobao.org/ #旧的
npm config set registry https://registry.npmjs.org/ #旧的
npm config set registry https://registry.npmmirror.com/ #最新的,使用这个就行

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

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

相关文章

JVM极简教程

基础概念 1.1. Java 虚拟机 是运行 Java字节码的虚拟机 1.2. JVM跨平台原理 JVM在不同的系统(Linux、Windows、MacOS)上有不同的实现,目的是在使用相同的字节码,它们都会给出相同的结果 JVM跨平台本质:不同操作系统…

高标准农田灌区信息化如何提高灌溉效率

高标准农田灌区的信息化建设,是现代农业发展的重要一环,旨在通过先进的信息技术手段优化水资源管理,提高灌溉效率,保障粮食安全,同时促进农业可持续发展。这一过程不仅涉及硬件设施的升级,还包括软件系统、…

第2章 双向链表

双向链表 概念 对链表而言,双向均可遍历是最方便的,另外首尾相连循环遍历也可大大增加链表操作的便捷性。因 此,双向循环链表,是在实际运用中是最常见的链表形态。 基本操作 与普通的链表完全一致,双向循环链表虽然…

PHP房屋出售出租多端多平台预约系统小程序源码

🏠🔑「房屋出售出租多端运营系统」——房产管理新纪元,一键掌控所有!🚀 🏡 开篇直击:房产市场新利器,轻松管理不再是梦! 亲们,还在为房屋出售或出租的繁琐流…

【IC设计】跨时钟异步处理系列——单比特跨时钟

文章目录 建立时间和保持时间单比特信号的跨时钟处理慢时钟域的信号传输到快时钟域打两拍 快时钟域的信号传输到慢时钟域方案一 脉冲展宽同步 (打拍打拍,进行或)代码原理图 方案二 脉冲电平检测双触发器同步边沿检测代码原理图 建立时间和保持时间 所谓的建立时间或…

python可视化-漏斗图(转化分析)

1、数据生成 from scipy import stats# 构造数据 stage [浏览,加入购物车,下单,支付,交易成功] values [] for i in range(len(stage)):values.append(int(1000*stats.expon.pdf(i, scale0.95))) 2、基于漏斗图的转化分析 from pyecharts import options as opts from pye…

HarmonyOs如何获取rawfile目录下的所有文件列表

最近在做一个功能,需要使用获取rawfile下目录的所有文件 参考连接为: zRawfile-模块-C API-Localization Kit(本地化开发服务)-应用框架 - 华为HarmonyOS开发者 (huawei.com) 需要使用到native实现,实现步骤&#…

redis面试(二十四)Semaphore锁实现

Semaphore也是redis分布式锁支持的一种,同步组件 之前给大家的讲解的锁,基本上都是同时间只能一个客户端获取这个锁,然后做一些事情,处理完了以后释放锁 Semaphore,信号量,他作为一个锁机制,可以…

Charles苹果手机https抓包

1、电脑设置Charles代理端口 1)设置代理端口 Proxy-》Proxying Settings-》HTTP Proxy 设置端口 2)设置监控的代理地址 Proxy-》SSL Proxying Settings 添加Add允许所有地址*.* 2、电脑导入Charles的ssl证书 3、电脑查看Charles的IP地址和端口 4、手机无线wifi配置代理 5、手…

kubernetes HPA

K8S的HPA介绍 在Kubernetes(K8S)集群管理中,Horizontal Pod Autoscaler(HPA)是一种关键的自动扩缩容机制,用于根据当前负载情况自动调整Pod副本的数量。这一机制能够显著提升应用的响应能力和资源利用率&a…

虚幻5|按键触发学习

一,如图参考 1.下移 驱动阈值 越大按时间长才会触发,越小很快就可以触发 2.按下 当按下超出驱动阈值大小就会触发一次,这里的驱动阈值只能设置再0.1~1的大小 3.已松开 当按下的时候,先触发单次的started,如果按压…

华为OD 山峰个数 C语言实现

不知道是不是我理解错了,这个题目200分? int main(void) {int i 0;int len 0;char c \0;int data[1000] {0};int temp[1000] {-1};int top 0;int count 0;while(scanf("%d",&data[i]) 1){i;len;cgetchar();if(c \n){break;}}// …

【调研】弱网环境下分片上传方案调研

目标 在高延迟、高丢包的弱网环境下,合理调整上传任务中分片大小这一参数,以达到尽可能好的传输性能(传输时间、成功率)。 调研 腾讯云弱网分块续传功能 腾讯云的弱网分块续传功能,基于腾讯云对象存储(Cloud Object…

Redis单线程和多线程

1.Redis的单线程 Redis的单线程主要是指Redis的网络IO和键值对读写是由一个线程完成的,Redis在处理客户端的请求时包括获取(Socket读)、解析、执行、内容返回(Socket写)等都由一个顺序串行的主线程处理,这…

OpenCV绘图函数(3)判断点一条直线是否在一个矩形范围内的函数clipLine()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 裁剪线段与图像矩形相交的部分。 cv::clipLine 函数计算出完全位于指定矩形内的线段部分。如果线段完全位于矩形之外,则返回 false。…

实现流程化办公,可专注于开源可视化报表设计器!

近日,有很多粉丝和朋友们会问我们关于低代码技术平台、开源可视化报表设计器的相关内容和问题。其实,在流程化办公新时代,愿意启用新软件平台的客户朋友会收获市场红利,也会站在前沿之地上斩获更多市场份额。今天我们就一起来了解…

【LLM之Data】SKYSCRIPT-100M论文阅读笔记

研究背景 随着短视频和短剧的兴起,自动化的剧本生成和短剧制作在影视行业中的需求逐渐增加。传统的剧本生成过程需要大量的人工干预,限制了其在规模和效率上的扩展性。当前的大型语言模型(LLM)在剧本生成方面展现出一定潜力&…

Leetcode面试经典150题-5.最长回文子串

解法都在代码里,不懂就留言或者私信 class Solution {public static String longestPalindrome(String s) {if(s null || s.length() 0) {return null;}//加工字符串,例如abcdcba加工成#a#b#c#d#a#b#c#d#String str getManacherString(s);char[] str…

UWB实操:用litepoint确认UWB SP0和SP3帧长度

用litepoint确认UWB SP0和SP3帧长度 预备知识 SP0 frame length Sync+SFD = 65.1+ 8.1 = 73 us

uniapp定义scss颜色变量deep()修改子组件样式

uni.scss中 import "/common/style/base-style.scss"; 在base-style.scss中 $brand-theme-color:#28B389;//品牌主体红色$border-color:#e0e0e0 ; $border-color-light:#efefef; $text-font-color-1: #000 ;//文字主色 $text-font-color-2:#676767;//副标题颜色 $…