【GitHub每日速递 20251203】Node版本管理神器nvm:跨平台安装、多版本切换全攻略

image

原文: https://mp.weixin.qq.com/s/EdgTDGmL-r7DNeX2AL7cOQ

Node版本管理神器nvm:跨平台安装、多版本切换全攻略

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

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

主要语言:Shell

stars: 89.7k

image

核心功能

nvm 是一个用于管理 Node.js 版本的工具,允许用户通过命令行快速安装和切换不同版本的 Node.js。它支持多种 POSIX 兼容的 shell,如 sh、dash、ksh、zsh 和 bash,可在 Unix、macOS 和 Windows WSL 等平台上使用。

安装与更新

  • 安装脚本:可使用 cURL 或 Wget 命令下载并运行安装脚本,脚本会将 nvm 仓库克隆到 ~/.nvm 目录,并尝试将相关配置添加到正确的配置文件中。
  • 其他安装方式:还支持 Git 安装、手动安装和手动升级,安装过程中可通过设置环境变量自定义安装源、目录、配置文件和版本。

使用方法

  • 安装 Node.js 版本:可安装最新版本、特定版本,也支持安装 io.js。
  • 管理版本:支持设置别名、列出可用版本、使用已安装版本、运行指定版本的 Node.js 命令等。
  • 长期支持版本:支持使用 LTS 版本,并可在安装时迁移全局包。
  • .nvmrc 文件:可在项目根目录创建 .nvmrc 文件指定 Node.js 版本,nvm use 等命令会自动使用该版本。

高级功能

  • 自定义颜色:可设置用于显示版本和别名信息的颜色,并可持久化设置。
  • 使用镜像:可设置使用 Node.js 或 io.js 二进制文件的镜像,还可传递授权头。
  • 深度集成:可通过配置实现自动根据 .nvmrc 文件切换 Node.js 版本。

测试与环境变量

  • 运行测试:测试分为快速测试和慢速测试,可通过 npm 命令运行。
  • 环境变量:nvm 暴露了多个环境变量,用于控制安装目录、二进制文件路径等。

兼容性与问题解决

  • 兼容性问题:某些非默认设置可能导致兼容性问题,如 ~/.npmrc 中的 prefix 设置。
  • 特定系统安装:在 Alpine Linux 上安装需要根据不同版本安装特定依赖,并使用 s 标志从源代码编译安装。
  • 问题解决:提供了在 Linux、macOS 和 WSL 等系统上安装和使用 nvm 时可能遇到问题的解决方法。

卸载与开发环境

  • 手动卸载:可通过删除安装目录和配置文件中的相关配置来手动卸载 nvm。
  • Docker 开发环境:提供了用于开发和测试的 Dockerfile,可将 nvm 仓库与预定义的开发环境打包成 Docker 镜像。

优势与应用场景

  • 优势:方便快捷地切换 Node.js 版本,避免不同项目对 Node.js 版本的依赖冲突;支持多种安装方式和自定义配置;提供了丰富的命令和功能,满足不同需求。
  • 应用场景:适用于需要在不同 Node.js 版本之间切换的开发者,如前端开发者、全栈开发者等;也可用于自动化部署和持续集成环境中,确保项目使用指定版本的 Node.js。

Traefik:自动配置路由,让微服务部署与访问轻松搞定!

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

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

主要语言:Go

stars: 59.1k

image

核心功能

Traefik 是一款现代 HTTP 反向代理和负载均衡器,能让微服务的部署变得简单。它可以与现有的基础设施组件(如 Docker、Swarm mode、Kubernetes、Consul、Etcd、Rancher v2、Amazon ECS 等)集成,并自动、动态地进行自我配置。

优势

  • 自动配置:传统反向代理需要手动配置每个路由,在频繁添加、删除、升级服务的环境中,维护路由更新十分繁琐。而 Traefik 监听服务注册中心或编排器的 API,能即时生成路由,无需人工干预,当然也支持手动配置部分路由。
  • 功能丰富
    • 配置自动更新:无需重启即可持续更新配置。
    • 多负载均衡算法:支持多种负载均衡算法。
    • HTTPS 支持:借助 Let's Encrypt 为微服务提供 HTTPS 支持,还支持通配符证书。
    • 熔断与重试:具备熔断和重试机制。
    • 直观的 Web UI:通过简洁的 Web UI 可查看运行情况。
    • 多协议支持:支持 WebSocket、HTTP/2、gRPC。
    • 指标监控:可提供多种指标(Rest、Prometheus、Datadog、Statsd、InfluxDB 2.X)。
    • 日志记录:支持记录访问日志(JSON、CLF)。
    • 高性能:运行速度快。
    • Rest API:提供 Rest API。
    • 部署方便:打包为单一二进制文件,并且有官方 Docker 镜像。

支持的后端

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

应用场景

适用于使用微服务架构的项目,尤其是那些使用容器编排工具(如 Kubernetes、Docker Swarm)或服务注册中心(如 etcd、Consul)的项目。可以帮助开发者更轻松地管理和暴露微服务,提高开发和运维效率。

快速开始

可以参考文档中的 5 分钟快速入门 来上手 Traefik,此过程需要 Docker。

文档与支持

下载方式

./traefik --configFile=traefik.toml
docker run -d -p 8080:8080 -p 80:80 -v $PWD/traefik.toml:/etc/traefik/traefik.toml traefik
  • 获取源代码:
git clone https://github.com/traefik/traefik
posted @ 2025-12-03 07:44  piggy侠  阅读(16)  评论(0)    收藏  举报