mac中nvm管理node

news2024/11/17 2:31:30

目录

        • 检查电脑上是否存在node
        • 卸载node
        • 安装nvm
          • 报错
            • 查看本机的ip地址
            • 修改host文件
          • 重新安装nvm - 报错
          • 重新安装nvm - 报错
          • 安装完成
          • 兼容性
            • 运行之前的项目 -> 报错
            • 运行之前的项目 -> 报错
        • 常用命令

nvm安装之前若是电脑上存在node,要先将node卸载掉

检查电脑上是否存在node

node -v
  • 若是显示版本号 如v16.18.0 则表示当前电脑存在node
  • 若是显示 command not found: node 则表示当前电脑不存在node

若是node存在需要先将电脑中的node卸载

卸载node

sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}

卸载完成之后再使用命令 node -v 检查一下是否卸载成功,卸载成功之后就可以安装nvm了

安装nvm

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

使用上述两个命令中的任意一个命令都可以安装 自动化安装nvm(不需要进行配置)

报错
port 443: Connection refused  // 拒绝链接
  • 报错原因:
    • github 的一些域名的 DNS 解析被污染,导致DNS 解析过程无法通过域名取得正确的IP地址
  • 解决方法
    • 在本机host文件添加github 域名 与 对应ip地址 的映射关系
        199.232.68.133 raw.githubusercontent.com
        199.232.68.133 user-images.githubusercontent.com
        199.232.68.133 avatars2.githubusercontent.com
        199.232.68.133 avatars1.githubusercontent.com
      
查看本机的ip地址
  ifconfig

然后en0对应的就是电脑的ip地址

修改host文件
  • 打开host文件

      vi /etc/hosts
    

    此时文件不可编辑输入i 更改为编辑

  • 编辑host文件

     i
    

    输入i之后会显示如下字样,表示可编辑
    在这里插入图片描述

  • 编辑完成之后 按esc退出编辑

  • 保存

     :wq
    
    • 报错

       'readonly' option is set (add ! to override)
      
      • 原因: 没有权限
      • 解决:先获取权限,再进行编辑
           Sudo vim /etc/hosts
        
        输入上述命令之后,会显示如下选择 -> 选择自己所需要的权限
        在这里插入图片描述
        选择E -> 进行编辑
      • 再修改就可以正常保存了
重新安装nvm - 报错

执行如下命令重新安装nvm

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

报了如下错误:

curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443 

是因为你配置了代理,需要移除 -> 使用下述命令移除代理

git config --global --unset http.proxy
重新安装nvm - 报错

执行如下命令重新安装nvm

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

此时发现可以正常下载了

weiche@liujuncheng-macbookair2 ~ % curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15037  100 15037    0     0   9583      0  0:00:01  0:00:01 --:--:--  9577
=> Downloading nvm from git to '/Users/weiche/.nvm'
=> Cloning into '/Users/weiche/.nvm'...
remote: Enumerating objects: 357, done.
remote: Counting objects: 100% (357/357), done.
remote: Compressing objects: 100% (303/303), done.
remote: Total 357 (delta 39), reused 173 (delta 28), pack-reused 0
Receiving objects: 100% (357/357), 218.03 KiB | 283.00 KiB/s, done.
Resolving deltas: 100% (39/39), done.
* (HEAD detached at FETCH_HEAD)
  master
=> Compressing and cleaning up git repository

=> Profile not found. Tried ~/.bashrc, ~/.bash_profile, ~/.zshrc, and ~/.profile.
=> Create one of them and run this script again
   OR
=> Append the following lines to the correct file yourself:

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

=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
weiche@liujuncheng-macbookair2 ~ % 

但是还是报了一个错:

Profile not found. Tried ~/.bashrc, ~/.bash_profile, ~/.zshrc, and ~/.profile.
Create one of them and run this script again
  • 报错原因:显示是找不到对应的文件
  • 解决:新建个bash_profile文件
      cd // 进入系统根目录
      touch .dash_profile // 创建dash_profile文件
      open .dash_profile // 打开dash_profile文件
    
    将下述内容添加进文件
     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
    
安装完成

到上一步安装就完成了,此时执行命令nvm -v检查一下是否安装成功,发现是command not found;

原因是因为安装完成之后一定要退出终端重新打开才能生效,退出打开 -> 此时显示对应的版本号了。

兼容性

下载nvm的原因是因为现在接手的这个项目的node需要使用12.13版本的。

现在 这个项目可以正常运行了

运行之前的项目 -> 报错
A complete log of this run can be found in
  • 原因1: 没有当前命令
运行之前的项目 -> 报错
Failed to load plugin 'flowtype' declared in 'package.json » eslint-config-react-app': Cannot find module 'eslint/use-at-your-own-risk'
  • 原因:node版本过低
  • 解决:低于16请升级至16,我用的是16.14.2版本

常用命令

  • 查看nvm 版本
     nvm -v
    
  • 查看node版本列表
      nvm ls
    
    在没有node的情况下,会有如下提示
    在这里插入图片描述
    此时需要下载 node -> 下载12.13版本的node
    nvm install 12.13
    
    再次执行命令 nvm ls
    在这里插入图片描述
  • 卸载node指定版本
    nvm uninstall node 版本号
    
  • 使用node指定版本
     nvm use node 版本号
    
  • 查看当前node使用版本
      nvm current
    

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

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

相关文章

catia建模圆柱直齿轮和斜齿

1 圆弧近似方案 参考 7.1 直齿轮(简单)1_哔哩哔哩_bilibili 2 渐开线生成点--》生成样条曲线方案 参考 7.2渐开线齿廓直齿圆柱齿轮(1)_哔哩哔哩_bilibili xd基圆半径rb *sin(t*PI*1rad)-基圆半径rb *t*PI*cos(t*PI*1rad) yd基…

如何做好性能压测(一):压测环境的设计和搭建

本文是阿里巴巴 PTS 团队《Performance Test Together》系列专题分享,霍格沃兹测试学院经特别授权转载,也会结合学员实际需求组织大咖公开课主题分享,文末有福利! 性能压测,是保障服务可用性和稳定性过程中&#xff0c…

MySQL校招集锦

数据库面试集锦 1.请说下你对MySQL架构的了解 先看一下MySQL的架构图 大体来说,MySQL 可以分为 Server 层和存储引擎两部分。 Server 层包括:连接器、查询缓存、分析器、优化器、执行器等,涵盖了 MySQL 的大多数核心服务功能,…

2.hadoop系列之组成简介

本文我们了解hadoop3的组成部分,如下图所示,包括HDFS数据存储、Yarn资源调度、MapReduce计算 1. HDFS概述 HDFS: Hadoop Distributed File System,是一个分布式文件系统 HDFS由NameNode、DataNode、Secondary NameNode组成 NameNode:存储文…

Zabbix监控docker容器状态信息详解

前言 本篇文章针对zabbix server已部署完成的情况。docker 容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上(包括流行的Linux机器、windows机…

UGUI-ContentSizeFitter之最简单实现maxSize限制

步骤 方法思路如下: 复制ContentSizeFitter源码出来,改名为ContentSizeFitterEx (AddComponentMenu里面的名字也需要改。)FitMode增加枚举MaxSize增加序列化属性m_MaxHorizontal和m_MaxVertical修改HandleSelfFittingAlongAxis增…

智能商业化模式:信息流广告的动态展现策略

丨目录: 摘要 引言 问题建模 实验 总结与展望 关于我们 参考文献▐ 摘要大多数的信息流场景会向用户展现自然内容和商业化内容(广告)的混合结果。一种比较常见的做法是,将广告限定在固定位置进行展现,但由于这种静态广…

7 常用类实例

常用类 1 object类 类的声明:public class object 类所属的包:java.lang object是所有类的根类Java中的所有类,如果没有特殊说明,则默认继承object object的派生类对象都可以调用这些方法,派生类一般会对根据需要重…

2022最新CKA认证指南看这里

目录 🧡CKA简介 🧡CKA报名 🧡注意事项 🧡题目 💟这里是CS大白话专场,让枯燥的学习变得有趣! 💟没有对象不要怕,我们new一个出来,每天对ta说不尽情话&…

代码随想录——二叉树

二叉树遍历 基本介绍: 二叉树主要有两种遍历方式: 深度优先遍历:先往深走,遇到叶子节点再往回走。【前中后序遍历】广度优先遍历:一层一层的去遍历。【层序遍历】 这两种遍历是图论中最基本的两种遍历方式 深度优…

录制电脑内部声音,2个方法,轻松解决

在我们日常的学习、娱乐和工作中,我们经常会遇到需要使用电脑录屏的情况。在电脑录屏的时候,怎么录制电脑内部声音?今天小编分享2个方法,教你如何轻松解决这个问题,一起来看看吧。 录制电脑内部声音方法1:Q…

Python基于PyTorch实现BP神经网络ANN分类模型项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 在人工神经网络的发展历史上,感知机(Multilayer Perceptron,MLP)网络曾对人工神…

什么是真正的骨传导耳机,五款真骨传导耳机推荐

市面上真假骨传导耳机不能辨别?真骨传导耳机是没有喇叭传播声音的,通过振子传播声音,我们在区分耳机是不是真骨传导耳机时,可以看看机身有没有喇叭音孔,有音孔的就不是利用骨传导传播声音的方式,下面就给大…

新的AI技术展望

“科学史是克服我们自身认知局限的不懈动力。”——约翰克拉考尔 这些是关于未来人工智能的话语。现在你可能在想,人工智能将如何影响我们,我们将如何处理它? 不用担心; 我有一个答案。AI(人工智能)已经在很多方面影…

easyexcel案例之类型转换,合并单元格,批注,下拉框,导入校验

文章目录easyexcel案例之类型转换,合并单元格,批注,下拉框,导入校验一、依赖二、导出1.类型转换导出2.自定义文件标题3.合并单元格导出注解方式通过 registerWriteHandler 方法注册进去自定义合并规则进行合并4.批注和下拉框导出批…

vulnhub DC系列 DC-2

总结:cewl和wpscan的使用,rbash逃逸,suid提权 下载地址 DC-2.zip (Size: 847 MB)Download: http://www.five86.com/downloads/DC-2.zipDownload (Mirror): https://download.vulnhub.com/dc/DC-2.zip使用方法:解压后,使用vm直接打开ova文件 漏…

MergeTree原理之二级索引

二级索引 除了一级索引之外,MergeTree同样支持二级索引,二级索引又称跳数索引,由数据的聚合信息构建而成。根据索引类型的不同,其聚合信息的内容也不同,当然跳数索引的作用和一级索引是一样的,也是为了查询…

【SpringCloud】什么是微服务?什么是SpringCloud?

【SpringCloud】什么是微服务?什么是SpringCloud? 一、什么是微服务? 1. 微服务架构的演变历程 单体架构 单体架构优缺点 2. 分布式架构 分布式架构优缺点 存在问题 3. 微服务 微服务的架构特征 微服务的优缺点 二、SpringClo…

头部3D建模新应用:护目镜类产品定制,省时高效好选择

自从越来越多人开始了运动健身,不少运动爱好者已经从小白用户升级为高级运动玩家。随着大家对运动装备的要求也越来越高,不少爱好者开始选购一些轻量化的私人订制装备。例如,高度符合用户头部外型的游泳眼镜、骑行护目镜等等。 游泳眼镜是为了…

用ACLS去控制访问文件

ACLs可以针对多个用户以及群组,其他人做出权限控制。文件系统需要挂载被ACL支持。XFS文件系统支持ACL。EXt4在7版本中默认激活ACL.但在更早的版本需要使用acl选项去挂载申请。 上图第十个字符.代表已经有了acl.表示已经设置ALC。文件的owner可以对文件设置ACL. get…