mac安装nvm

news2024/11/16 17:36:19

1、nvm介绍

        (1)什么是nvm简单来说,nvm是一款可以用命令行快速切换node版本的工具!

        (2)为什么要切换node版本?打个比方,你目前正在用node 14版本,现在出了node 16版本,你想测试一下你的项目在node 16版本会不会有问题,这时候是不是需要node版本切换?又比如vue3要求node的版本至少是16以上,而你目前在开发vue2的项目且node在16以下。

        (3)不装nvm会怎样?你会非常麻烦!不断的去node官网下载16版本、14版本的node,还要不停配置环境变量,浪费很多时间,加一些没必要的班。

        (4)nvm会怎样?通过cmd的一行命令 nvm use 版本号 就能快速切换 node版本,省去额外配置,不用手动去node官网下载

2、mac安装nvm

        2.1 下载方法一

// 打开terminal终端

// 输入以下命令,看你的shell是zsh还是bash

echo $SHELL;

 

// 输入以下命令

sudo curl -o- http://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | zsh

 

// 会出现403的错误,不过放心,403的错误不是你的原因,是githubusercontent服务器出现问题

        2.2 下载方法二

                2.2.1 先安装homebrew

// 打开terminal终端

// 输入以下命令

/bin/zsh -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

 

// 也同样出现403的错误 

 

// 此时换种思路,不用国外镜像了,使用国内镜像

// 输入以下命令

sudo /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

 

//  建议选择中科大,也就是输入1,安装过程还要选择一次,也同样选择1,还要输入一次开机密码

 

//  说明你安装homebrew成功了

                2.2.2 通过homebrew安装nvm

// 输入以下命令

brew install nvm

 

// 紧接着使用nvm use node的版本号,你会发现/usr/local/share/zsh /usr/local/share/zsh/site-functions 没有写的权限

 

 

// 因此你需要输入以下命令给这两个文件夹写的权限

sudo chmod -R  777 /usr/local/share/zsh

sudo chmod -R  777 /usr/local/share/zsh/site-functions 

 

// 再执行一遍 nvm use node ,发现 nvm还是报错

// 需要在执行以下命令让nvm在terminal生效

source $(brew --prefix nvm)/nvm.sh

source ~/.bash_profile 

3、nvm常用命令 

nvm -help                // 查看所有nvm命令

 

nvm list        // 显示当前电脑所拥有的node版本信息

 

nvm install  xxx        // 安装xxx

 

nvm use 版本号        // 切换node版本号

 

        以上就是我踩坑记录,祝各位能顺利实现!!

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

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

相关文章

Greenplum-主备同步机制

我们在学习Greenplum的架构时知道,Greenplum中主要有Master管理层和Segment计算层。在高可用方面,Master通过配置一个Standby来实现主备,Segment则通过对实例设置镜像的方式也实现主备高可用(其中主实例称为Primary,备…

网络基础(二)

目录 应用层 再谈 "协议" 协议是一种 "约定". socket api的接口, 在读写数据时, 都是按 "字符串" 的方式来发送接收的. 如果我们要传输一些"结构化的数据" 怎么办呢? 为什么要转换呢? 如果我们将struct message里面…

传输线的物理基础(二):信号在传输线中的速度

铜中电子的速度信号在传输线上传输的速度有多快?如果人们经常错误地认为信号在传输线上的速度取决于导线中电子的速度。凭着这种错误的直觉,我们可能会想象降低互连的电阻会提高信号的速度。事实上,典型铜线中电子的速度实际上比信号速度慢约…

OpenWrt 软路由 IPV6 配置 DDNS

一、申请 dynv6 账号 1、去官网注册一个账号,不过人机验证那块需要 "梯子" 才能注册成功 Free dynamic DNS for IPv6 2、注册成功后,创建一个 Domain 3、这是我创建好的 4、获取 密码,后面需要用到 二、配置 DDNS 1、点击服务菜…

C++之单例模式

目录 1. 请设计一个类,只能在堆上创建对象 2. 请设计一个类,只能在栈上创建对象 3.请设计一个类,不能被拷贝 C98 C11 4. 请设计一个类,不能被继承 C98 C11 5. 请设计一个类,只能创建一个对象(单例模式) 设计…

在GoLand中编译cgo程序

GoLand的C使用问题为什么会出现fyne之类的包无法在GoLand中运行安装gcc安装make安装Choco安装指令使用Choco安装make将make加入Path将GoLand的make路径进行替换测试,编译fyne程序问题 本人go萌新,正在学习golang的界面包fyen,但是在使用GoLa…

Android面试题——JVM

Android平台的虚拟机是基于栈的吗? JVM运行时数据区 运行时栈 基于栈的虚拟机 第0行表示将一个Int型的1推送至操作数栈栈顶,程序计数器指向第0行。第一行字节码表示将栈顶的int型数值存入第一个本地变量,这两行代码就进行了给局部变量赋值的操…

【开源硬件】STM32F030R8T6系统板

【开源硬件】STM32F030R8T6系统板✅STM32F030R8T6系统板兼容极海APM32F030R8T6 🔰支持stm32cubemx工程配置成STM32F030R8T6生成的MDK工程,经过Keil编译后可以直接使用ST-Link v2烧录器上传到极海APM32F030R8T6芯片当中,完全做到平替使用&…

[Java·算法·中等]LeetCode22. 括号生成

每天一题,防止痴呆题目示例分析思路1题解1分析思路2题解2分析思路3题解3👉️ 力扣原文 题目 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 输入:n 3 输出&…

Unity Lighting -- 配置阴影

本笔记使用URP管线进行说明 配置渲染管线阴影参数 在项目窗口中,主菜单中选择Edit -> ProjectSettings,然后选择Quality,查看当前项目所使用的URP资源,目前例子所使用的资源为UniversalRP_HighQuality资源 在工程窗口中,会有对应的渲染管…

1060:均值

一。题目 1060:均值 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 101855 通过数: 62518 【题目描述】 给出一组样本数据,包含n个浮点数,计算其均值,精确到小数点后4位。 【输入】 输入有两行,第一行包含…

【Echarts】在Vue中使用Echarts

在Vue中使用Echarts引入第三方库vue-echartsvue-echarts安装与使用vue2中使用Echartsvue-echarts安装vue2中使用Echartsvue3中使用Echartsvue-echarts安装vue3中使用Echarts引入第三方库vue-echarts Vue是数据驱动dom,改变数据让图表自动根据数据变化更新&#xff…

Ubuntu 18.04 出现GLIBC_2.28 not found的解决方法(亲测有效)

关于/lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.28’ not found出现报错,建议不要使用源码包去编译并升级。在下文有分享一个使用官方的Debian软件包去升级使用的方法。仅供参考! 环境 # uname -a Linux Ubuntu 5.4.0-144-generic #161~18.04.…

ubuntu server 18.04使用tensorflow进行ddqn训练全过程

0. 前言 需要使用ddqn完成某项任务,为了快速训练,使用带有GPU的服务器进行训练。记录下整个过程,以及遇到的坑。 1. 选择模板代码 参考代码来源 GitHub 该代码最后一次更新是Mar 24, 2020。 环境配置: python3.8 运行安装脚本…

超全的命令(代码)执行漏洞无回显的姿势总结(附带详细代码和测试分析过程)

目录 漏洞代码 突破方式 重定向 dnslog外部通信 burpsuite burpcollaborator外部通信 日志监听 netcat监听 反弹shell的各种姿势 漏洞代码 <?php shell_exec($_GET[a]); ?>这里使用了无回显的shell执行函数shell_exec&#xff0c;给html目录的权限是777 突破方…

C++之多态 虚函数表

多态 多态是在不同继承关系的类对象&#xff0c;去调用同一函数&#xff0c;产生了不同的行为。 需要区分一下&#xff1a;1、菱形虚拟继承&#xff0c;是在继承方式前面加上virtual&#xff1b; class Person {}; class Student : virtual public Person {}; class Teacher…

【深蓝学院】手写VIO第2章--IMU传感器--笔记

0. 内容 1. 旋转运动学 角速度的推导&#xff1a; 左ω∧\omega^{\wedge}ω∧&#xff0c;而ω\omegaω是在z轴方向运动&#xff0c;θ′[0,0,1]T\theta^{\prime}[0,0,1]^Tθ′[0,0,1]T 两边取模后得到结论&#xff1a; 线速度大小半径 * 角速度大小 其中&#xff0c;对旋转矩…

Spring Security 实现自定义登录和认证(1):使用自定义的用户进行认证

1 SpringSecurity 1.1 导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId> </dependency>1.2 编写配置类 在spring最新版中禁用了WebSecurityConfigurerAdapter…

04-项目立项:项目方案、可行性分析、产品规划、立项评审

文章目录4.1 项目方案立项阶段4.2 可行性分析4.3 产品规划4.4 立项评审4.4.1 立项说明书的主要内容4.4.2 立项评审流程章节总结4.1 项目方案 学习目标&#xff1a; 能够输出产品项目方案 项目开发设计流程的主要阶段&#xff1a; 立项阶段 → 设计阶段 → 开发阶段 → 测试阶…

机器学习 | 实验一:线性回归

文章目录&#x1f4da;描述&#x1f4da;数据&#x1f4da;监督学习问题&#x1f4da;二维线性回归&#x1f4da;理解J(θ)⭐️对应笔记 单变量线性回归多变量线性回归 &#x1f4da;描述 第一个练习将提供线性回归练习。这些练习已经在Matlab上进行了广泛的测试。但它们也应该…