• nvm 基础安装与坑点


    nvm 常规安装步骤

    背景:在多个项目开发过程中,发现有些依赖下载特别慢,甚至下载不下来,分析发现是因为npm版本过低而导致下载慢的问题

    解决方案

    1. 方案一:直接升级node,但是涉及多个项目,不推荐。
    2. 方案二:安装nvm,进行不同的node版本管理

    1. nvm 安装前准备工作

    为了避免已下载的node和全局node模块冲突,建议删除已安装的node

    可以运行下面指令:

    // 查看已经安装在全局的模块,以便删除这些全局模块后再按照不同的 node 版本重新进行全局安装
    npm ls -g --depth=0
    
    // 删除全局 node_modules 目录
    sudo rm -rf /usr/local/lib/node_modules
    
    // 删除 node
    sudo rm /usr/local/bin/node
    
    // 删除全局 node 模块注册的软链
    cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    2. nvm 安装

    // 安装nvm指令
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    
    // 创建zsh配置文件
    touch ~/.zshrc  
    
    // 编辑配置文件
    vim ~/.zshrc 
    
    //增加下面的配置其一(一般配置2即可)
    
    // 1、这是本地不存在配置文件的时候提示需要添加的配置
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
    
    // 2、这是本地存在配置文件的时候提示需要添加的配置(推荐)
    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
    
    //退出vim
    esc + :wq
    
    //重新加载配置文件
    source ~/.zshrc
    
    //查看是否安装成功
    nvm -v
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    3. nvm 基础指令

    // 查看已安装的node版本
    nvm list  
    
    //查看所有的远程服务器的版本
    nvm ls -remote
    
    //查看长久支持的node版本
    nvm list available 
    
    //显示当前的版本
    nvm current
    
    //给不同版本加别名
    nvm alias  
    
    //删除已定义的别名
    nvm unalias 
    
    //安转稳定的node版本
    nvm install stable
    
    //安装(删除)指定的node版本
    nvm install(uninstall) 12.16.1 
    
    //切换使用的指定的node版本,只在当前窗口生效
    nvm use v12.16.1 //使用某版本的node
      
    //永久版本-所有窗口生效指定版本
    nvm alias default 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    注意:在任意一个命令行窗口进行切换之后,其他的窗口或其他命令行工具窗口 需要关掉工具,重启才能生效。(例如 VSCode内或外部命令切换之后,需要重启 VSCode,才能正常生效,否则或处于 临时生效状态,也就是在 VSCode中重新打开一个命令行查看版本还会是旧版本,所以必须要重启。)这里的 重启 不是简单的关掉窗口重启,没有退出后台进程,而是完全退出杀死工具进程,重新启动。

    4. nvm 碰见坑点

    4.1 nvm 安装node版本报错clang: error: no such file or directory: ‘CXX=c++‘

    解决方案:
    第一步:打开 访达 >>> 左侧点击应用程序 >>> 找到你的终端
    第二步:鼠标放在“终端” app上 右键 >>> 显示简介
    第三不: 勾选使用Rosetta打开, 关闭所有终端重新打开后就正常了

    4.2 nvm install安装新版本node报错LibreSSL SSL_read: SSL_ERROR_SYSCALL

    解决方案:
    第一步:vim编辑器打开bash_profile文件:

    sudo vi .bash_profile
    
    • 1

    输入下面代码:

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

    按 esc,然后输入:wq保存退出,重启命令行后重新执行安装命令,如还是不行,执行第二步

    第二步 :修改计算机网络配置
    系统在解析hostname时使用了ipv6,取消使用,输入下面代码:

    networksetup -setv6automatic Wi-Fi
    
    • 1
  • 相关阅读:
    卷积神经网络笔记
    聚观早报 | SpaceX 再获 2.5 亿美元融资;Meta推迟决定实习生转正
    单元测试实战(四)MyBatis-Plus 的测试
    awk的简单使用
    软考笔记(3)——浮点数
    System Synthesis
    【黄啊码】PHPer常用编辑器,第十款堪称魔鬼级别
    ESP32-C3 学习测试 蓝牙 篇(七、GATT 数据通信 — 发送自定义数据)
    ChinaSkills技能大赛网络系统管理Debian模块(样题一)||Client配置
    Spring总结
  • 原文地址:https://blog.csdn.net/JYB150740115/article/details/127640683