【GitHub每日速递 20251120】神器 nvm 全攻略:多版本 Node 自由切换,安装使用疑难一网打尽

image

原文: https://mp.weixin.qq.com/s/SGqU9Aziv_TOz6X9dYRXzA

神器 nvm 全攻略:多版本 Node 自由切换,安装使用疑难一网打尽

nvm 是一个用于管理多个 Node.js 版本的命令行工具。简单讲,它能让你轻松切换和使用不同版本的 Node.js,方便开发和测试。适用人群:Node.js 开发者、前端工程师

项目地址:https://github.com/nvm-sh/nvm

主要语言:Shell

stars: 89.2k

核心功能

nvm 是一个用于管理 Node.js 版本的工具,允许用户通过命令行快速安装和切换不同版本的 Node.js。借助 nvm,用户可以轻松地在不同项目中使用不同版本的 Node.js,避免版本冲突问题。

安装与更新

  • 安装脚本:可使用 curlwget 命令下载并运行安装脚本。脚本会将 nvm 仓库克隆到 ~/.nvm 目录,并尝试将相关配置添加到正确的配置文件中。
  • 其他安装方式:支持通过 git 安装和手动安装,手动安装时需克隆仓库并执行相应命令加载 nvm
  • 更新:可以使用安装脚本更新,也可通过 git 手动更新。

使用方法

  • 安装 Node.js:可以安装最新版本,也能指定特定版本进行安装。
  • 版本切换:使用 nvm use 命令切换 Node.js 版本。
  • 别名设置:可以为特定版本设置别名,方便使用。
  • 查看版本:使用 nvm ls 查看已安装版本,使用 nvm ls-remote 查看可安装版本。

特色功能

  • 长期支持版本管理:支持使用 lts/* 等符号引用长期支持版本,方便管理。
  • 全局包迁移:在安装新版本时,可以迁移之前版本的全局 npm 包。
  • 默认全局包设置:可在 $NVM_DIR/default-packages 文件中设置每次安装新版本时默认安装的全局包。
  • .nvmrc 文件支持:在项目根目录创建 .nvmrc 文件,指定项目所需的 Node.js 版本,进入该目录时可自动切换版本。

兼容性与问题解决

  • 支持的平台:支持在 Unix、macOS 和 Windows WSL 等 POSIX 兼容的 shell 中使用。
  • 兼容性问题:部分非默认设置可能导致兼容性问题,如 ~/.npmrc 中的 prefix 设置等。
  • 特定系统问题解决:针对 Linux、macOS、Alpine Linux 和 WSL 等系统,文档提供了详细的安装和故障排除方法。

测试与环境变量

  • 测试:项目提供了测试脚本,可运行快速测试、慢速测试或全部测试。
  • 环境变量nvm 暴露了多个环境变量,如 NVM_DIRNVM_BIN 等,方便用户进行配置。

优势与应用场景

  • 优势:操作简单,能有效解决 Node.js 版本管理问题,提高开发效率。
  • 应用场景:适用于需要在不同项目中使用不同 Node.js 版本的开发者,以及进行 Node.js 开发和测试的环境。

Traefik:自动配置的现代HTTP反向代理,让微服务部署轻松无忧!

traefik 是一个云原生应用代理的反向代理和负载均衡工具。简单讲,它能自动管理微服务的流量路由,让应用轻松对外提供服务。适用人群:云原生开发者、运维工程师

项目地址:https://github.com/traefik/traefik

主要语言:Go

stars: 58.0k

image

核心功能

Traefik 是一款现代 HTTP 反向代理和负载均衡器,旨在简化微服务的部署。它能够与多种现有基础设施组件集成,如 Docker、Kubernetes、Consul 等,并自动、动态地进行自我配置。

优势

  • 自动配置:传统反向代理需要手动为每个微服务配置路由,在微服务频繁变更的环境下,维护路由信息十分繁琐。而 Traefik 可以监听服务注册中心或编排器的 API,自动生成路由,无需人工干预,当然它也支持手动配置部分路由。
  • 功能丰富
    • 动态更新:可在不重启的情况下持续更新配置。
    • 多种负载均衡算法:支持多种负载均衡策略,满足不同场景需求。
    • HTTPS 支持:借助 Let's Encrypt 为微服务提供 HTTPS 支持,还支持通配符证书。
    • 熔断和重试机制:具备电路断路器和重试功能,增强系统的稳定性。
    • 简洁 Web UI:通过简洁的 Web UI 可以直观地查看系统运行情况。
    • 多协议支持:支持 WebSocket、HTTP/2、gRPC 等协议。
    • 指标监控:提供多种指标监控方式,如 Rest、Prometheus、Datadog 等。
    • 日志记录:支持 JSON 和 CLF 格式的访问日志记录。
    • 高性能:运行速度快,能高效处理请求。
    • Rest API:暴露 Rest API,方便进行系统集成和管理。
    • 易于部署:以单个二进制文件形式打包,并且有官方的 Docker 镜像。

支持的后端

支持 Docker/Swarm mode、Kubernetes、ECS、File 等多种后端。

应用场景

  • 微服务架构:在微服务环境中,Traefik 可以自动发现和配置服务路由,使微服务能够对外提供服务,大大简化了微服务的部署和管理。
  • 容器化环境:与 Docker、Kubernetes 等容器编排工具集成,为容器化应用提供反向代理和负载均衡功能。

快速开始

可参考文档中的 5 分钟快速入门,此过程需要使用 Docker。

下载方式

  • releases 页面获取最新二进制文件,并使用 示例配置文件 运行。
  • 使用官方 Docker 镜像,并挂载示例配置文件运行。
  • 通过 git clone https://github.com/traefik/traefik 获取源代码。
posted @ 2025-11-20 07:46  piggy侠  阅读(17)  评论(0)    收藏  举报