mac安装nvm管理工具遇到的问题和解决方法

news2024/11/24 16:01:09

nvm 是一款可以管理多版本node的工具,因为是刚买没多久的电脑+之前用的都是windows,昨天折腾了一下午终于倒腾好了

第一步:

卸载电脑已有的node;访问nvm脚本网址,另存为到电脑上任何目录,我是放在桌面上的https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh

第二步:

打开电脑终端,在当前用户下执行该脚本,我刚开始是进入到root下面,导致安装成功后,普通用户下无法使用nvm,后面卸载掉重新安装了一遍

进入到存放上面的脚本目录下面

执行脚本

sh raw.githubusercontent.com_nvm-sh_nvm_v0.38.0_install.sh

第三步:

配置环境变量,复制该端代码然后回车

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

 第四步:

检查是否安装成功,若返回版本号0.38.0则表示安装成功

nvm -v

第五步:

安装国内镜像资源,这样使用nvm下载node会快

export NVM_NODEJS_ORG_MIRROR=http://npmmirror.com/mirrors/node
export NVM_IOJS_ORG_MIRROR=http://npmmirror.com/mirrors/iojs

第六步(解决问题):

关掉终端后,再次打开终端,运行nvm - v 会报错找不到,再次执行第三步后又可以,用该下面的方法解决;若无该问题请忽略,直接到第七步的安装node

打开终端,确保自己在安装nvm的用户下执行命令,输入命令,回车后查看是否有.bash_profile文件

ls a

若没有的话就新建一个,重新安装nvm

touch ~/.bash_profile  ##新建文件
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash ##安装nvm,该方法安装nvm有的时候网络不稳定会返回超时的错误,可以用第一步的脚本方式进行重新安装

查看是否有.zshrc文件,没有的话需要新建一个

touch .zshrc

打开.zshrc文件

open .zshrc

输入内容

source ~/.bash_profile

执行成功后,关掉该终端,重新打开再次nvm -v就可以正常返回,不会报错找不到的问题

第七步(解决问题):

我在安装的时候是直接执行的第八步,这一步是在node安装后,发现npm报错找不到,所以把这一步写在了安装node的前面,防止你们和我一样,安装后还要再卸载重新安装node

设置npm的镜像

nvm npm_mirror https://npm.taobao.org/mirrors/npm/

第八步:

查看nvm可以安装的node 版本

nvm ls-remote

安装自己需要的版本

nvm install v14.16.1

nvm的其它命令

nvm ls   #查看已安装的node版本
nvm uninstall v14.16.1  #卸载指定node版本
nvm current   #查看当前node版本
nvm use v14.16.1  #切换指定版本
nvm alias 公司项目 v14.16.1 #指定版本的别名
nvm unalias 公司项目  #删除别名

查看node和npm是否安装成功

node -v
npm -v

第九步(解决问题):

关掉终端,重新打开终端再次执行node -v 会报错找不到,执行nvm current发现返回的是none,因为没有指定默认版本,执行下面的命令

nvm alias default v14.16.1

第十步:

关掉终端,再次确认所有的东西是否都能正常使用

nvm ls
node -v
npm -v

总结:nvm的安装过程其实并不复杂,折腾了一下午还是对于mac的终端命令不熟悉,还有对问题的排查步敏感,在root权限下安装nvm时,我是使用的curl 在线安装的,因为当时的网络很差,导致一直链接不到,报错,我以为是系统的原因,上网查了好多资料,在nvm的github看到有人报同意的错误,底下有条评论说就是网络的原因,我就赶紧切换到我的热点,很快就下载完成了。但是最后还是安装错了目录,哈哈哈,不管过程咋样,最后结果是完成了,写下这篇文章,希望看到这篇文章的人可以少走点坑,节省些时间。

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

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

相关文章

OSPF技术入门(第三十四课)

1 OSPF的介绍 OSPF是一种链路状态路由协议,主要用于IP网络中的路由选择。它是一种开放协议,能够在不同的网络设备之间进行通信。OSPF利用链路状态数据库来描述网络拓扑结构,并通过Dijkstra算法计算出最短路径。它支持按照精确度划分的路由优先级,以及多个相等的路径,并能自…

微服务分布式搜索引擎 ElasticSearch 查询文档

文章目录 ⛄引言一、DSL查询文档⛅DSL 查询分类 二、DSL查询实例⛅全文检索查询⏰精确查询⚡地理坐标查询⌚复合查询 ⛵小结 ⛄引言 本文参考黑马 分布式Elastic search Elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海…

服务器数据恢复-断电导致ext4文件系统文件丢失的数据恢复案例

服务器数据恢复环境: 一台服务器挂载一台存储设备,存储中划分一个Lun;服务器操作系统是Linux centos,EXT4文件系统。 服务器故障&分析: 意外断电导致服务器操作系统无法启动,系统在修复后可以正常启动&…

竞赛项目 深度学习的动物识别

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…

在Ubuntu中使用Docker启动MySQL8的天坑

写在前面 简介: lower_case_table_names 是mysql设置大小写是否敏感的一个参数。 1.参数说明: lower_case_table_names0 表名存储为给定的大小和比较是区分大小写的 lower_case_table_names 1 表名存储在磁盘是小写的,但是比较的时候是不区…

CMAKE生成exe文件时运行时有cmd窗口

1、运行exe执行文件 会有cmd弹窗 2、解决方法 只需要在cmakelists.txt中添加set(CMAKE_CXX_FLAGS “-mwindows”) 或者在cmake时指定编译参数cmake -DCMAKE_CXX_FLAGS"-mwindows"即可 如果用的是c而不是c,就只需把CXX改为C 重新编译打包运行后没有cmd弹…

centos自动同步北京时间

1、安装ntpdate服务 yum -y install ntpdate 2、加入自动任务计划 查找ntpdate的路径: which ntpdate 复制这个路径。 编辑自动任务计划并加入ntpdate: crontab -e # 每小时第30分钟同步AD域控时间 30 * * * * /usr/sbin/ntpdate -u 192.168.2.8 > …

超低成本FPGA JTAG方案

今天给大家带来一款超低成本的FPGA JTAG方案,硬件核心是用树莓派Pico,使用相关芯片自己制作JTAG则非常便宜,RP2040某宝的报价只有4元,所以自己制作成本非常低廉,当然使用Pico成本也不是很高,所以今天就以Pi…

ChineseChess

外卖中国象棋的梗。 外卖免单题: 如图,红棋先行,至少几步绝杀黑房(黑房尽量不让自己输)? ChineseChess.java 【帅】是左出还是右出,取决于,上图黑方那边的【士】 如图&#xff0c…

datax抽取库名带点的表遇到的问题

一、描述任务 使用Datax抽取mysql中的数据到hive的wedw_ods层中,mysql的库名为:b.p.n.p 表名为:bene_group 二、datax.json脚本生成 因为datax的脚本是自动生成的,生成的格式如下: {"core": {},"jo…

竞赛项目 深度学习手势识别算法实现 - opencv python

文章目录 1 前言2 项目背景3 任务描述4 环境搭配5 项目实现5.1 准备数据5.2 构建网络5.3 开始训练5.4 模型评估 6 识别效果7 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习手势识别算法实现 - opencv python 该项目较为新颖…

中国信息安全测评中心CISP家族认证一览

随着国家对网络安全的重视,中国信息安全测评中心根据国家政策、未来趋势、重点内容陆续增添了很多CISP细分认证。 今日份详细介绍,部分CISP及其子品牌相关认证内容,一定要收藏哟! 校园版CISP NISP国家信息安全水平考试&#xff…

如何用SOLIDWORKS Simulation 避免共振现象

零件都有它的固有振动频率,称之为共振频率。当零部件的固有频率和激励频率相近时,对零部件的破坏是非常严重的,这就是我们说的共振。频率分析是设计师日常工作常见的设计验证。 今天给大家分享的是Simulation的频率分析操作方法: …

黑马头条项目学习--Day3: 自媒体文章发布

Day3: 自媒体文章发布 Day3: 自媒体文章发布1) 素材管理-图片上传a) 前期微服务搭建b) 具体实现 2) 素材管理-图片列表a) 接口定义b) 具体实现 3) 素材管理-照片删除/收藏a) 图片删除a1) 接口定义a2) 代码实现 b) 收藏与取消b1) 接口定义b2) 代码实现 4) 文章管理-频道列表查询…

前端面试自我介绍

前端面试自我介绍精选篇1 各位面试官大家好,我叫__,就读于__大学__学,大学本科学历,我的求职意向是与金融专业相关的职位,本人拥有较强的学习能力,能快速适应工作环境,兴趣爱好广泛&#xff0c…

nginx文件共享、服务状态和location模块的配置介绍

一.文件共享功能 1.清空html目录下文件并新建你要共享的文件 2.修改nginx.conf文件,开启autoindex功能 3.测试 二.状态模块 1.修改nginx.conf文件 2.测试 (1)使用刚才定义的IP/nginx_status进行访问 (2)status参…

Qt应用开发(基础篇)——工具箱 QToolBox

一、前言 QToolBox类继承于QFrame,QFrame继承于QWidget,是Qt常用的基础工具部件。 框架类QFrame介绍 QToolBox工具箱类提供了一列选项卡窗口,当前项显示在当前选项卡下面,适用于分类浏览、内容展示、操作指引这一类的使用场景。 二…

点的复合运动

一、问题所在 对于复合运动中的牵连运动一直很蒙,之前做题的时候都是靠经验,比如圆盘选择圆心做动系原点、连杆选择牵连点做原点等,今天重新整理了一下。 牵连运动的定义是动系相对于定系的运动,这个定义就很模糊。如果是指动系…

MySQL之 show profile 相关总结

MySQL之 show profile 相关总结 MySQL官网show profile介绍:https://dev.mysql.com/doc/refman/8.0/en/show-profile.html 1. 简介 show profile 和 show profiles 命令用于展示SQL语句的资源使用情况,包括CPU的使用,CPU上下文切换&#xf…

【Linux】认识“协议“序列化和反序列化

目录 前言 1 应用层 2 在谈协议 3 序列化和反序列化 4 网络版计算器 4.1 指定协议 request结构体 response结构体 4.2 服务端编写 4.3 客户端的编写 5 Json for C 的序列化和反序列化使用样例 前言 之前的socket编程,都是在通过系统调用层面,…