惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
MongoDB | Blog
MongoDB | Blog
Martin Fowler
Martin Fowler
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
F
Fortinet All Blogs
B
Blog
U
Unit 42
B
Blog RSS Feed
D
DataBreaches.Net
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
腾讯CDC
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Visual Studio Blog
博客园 - 聂微东
MyScale Blog
MyScale Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
Engineering at Meta
Engineering at Meta

lvbibir's Blog

shell | 磁盘空间分析脚本 Linux cat 和 tee 命令写入文件 python | 使用 uv 管理你的 python 环境 Claude Code 完整配置指南 windows | mihomo 内核独立部署指南 linux | 磁盘扩容 wsl | 释放长久运行占用的磁盘空间 mysql | 线程上限问题处理 麒麟 7.6 安装谷歌 OTP 认证模块 suse 12sp5 升级 openssh 及 openssl suse 12sp5 部署 mysql 5.7 《谁的青春不迷茫》 docker | centos7 部署 docker vim | 基础配置和使用 windows | rime 输入法 & 雾凇方案 shell | sshpass 批量传输文件及执行命令 wsl | 原生 linux 方式安装 docker wsl | 安装配置 miniconda 虚拟环境 wsl | 自动更新系统代理 wsl | bashrc 环境变量不正确加载的处理方法 wsl | win10 安装 wsl2 troubleshooting | ssh 成功但是 scp 失败 linux | 常用命令总结 docker 部署 piclist shell | 检测网站存活并自动钉钉告警 Zabbix | 监控端口连通性并自动追踪 TCP 路由 windows | 自定义开机快速启动项 windows | miniconda 配置 python 虚拟环境 Zabbix | 监控主机到指定 ip 的流量大小 shell | centos 初始化
nodejs | fnm + pnpm 开发环境配置
lvbibir · 2024-01-23 · via lvbibir's Blog

0 前言

Node.js 版本管理工具主要有 nvm 和 fnm 两种选择:

  • fnm: Rust 编写, 启动速度快, 跨平台支持好, 内存占用小, 推荐优先使用
  • nvm: 社区成熟稳定, 文档和生态丰富, 但 shell 脚本实现导致启动较慢, 且不原生支持 Windows

两者都支持 .nvmrc.node-version 文件, 可根据项目自动切换版本.

Node.js 包管理工具主要有 npm, yarn, pnpm, bun 四种选择:

  • pnpm: 硬链接 + 符号链接共享依赖, 安装速度快, 磁盘占用最小, 严格的依赖隔离避免幽灵依赖, 推荐优先使用
  • bun: Zig 编写的全能工具 (运行时 + 包管理 + 打包 + 测试), 安装速度极快, 但生态较新, 部分 Node.js API 兼容性待完善
  • yarn: Facebook 开发, 并行安装速度快, lockfile 可靠, 但 v1 和 v2+ 架构差异大, 功能与 npm 趋同
  • npm: Node.js 内置, 零配置开箱即用, 生态最成熟, 但安装速度较慢, node_modules 扁平化导致幽灵依赖问题
sudo apt update
sudo apt install -y unzip
curl -fsSL https://fnm.vercel.app/install | bash
source ~/.bashrc

fnm install 24 # 安装 v24 的最新版
fnm default 24 # 设置全局默认的 node 版本为 v24

修改 ~/.bashrc, 添加 --use-on-cd 参数, 可以在切换目录的时候自动识别 .nvmrc.node-version, fnm 可以自动切换版本

# fnm
FNM_PATH="${HOME}/.local/share/fnm"
if [ -d "$FNM_PATH" ]; then
  export PATH="$FNM_PATH:$PATH"
  eval "`fnm env --use-on-cd`"
fi

2 安装 pnpm

npm install -g pnpm
pnpm setup
source ~/.bashrc

# 镜像源 (国内推荐 npmmirror, 海外保持官方源)
pnpm config set --global registry https://registry.npmmirror.com
pnpm config set --global registry https://registry.npmjs.org

3 安装组件

pnpm install -g @anthropic-ai/claude-code
pnpm install -g @google/gemini-cli
pnpm install -g @openai/codex

# 单次运行, 类似 npx
pnpm dlx ccg-workflow

# 检查更新
pnpm outdated -g

# 全局更新
pnpm update -g --latest

以上

wechat_pay

微信

alipay

支付宝