MCPcopy Index your code
hub / github.com/1111mp/nvm-desktop

github.com/1111mp/nvm-desktop @v4.3.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.3.3 ↗ · + Follow
546 symbols 1,446 edges 127 files 68 documented · 12%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

nvm-desktop

nvm-desktop

一个跨平台的 Node.js 版本管理工具,包含:

  • 图形界面nvm-desktop
  • 命令行工具nvmd

支持 macOSWindowsLinux

English | 简体中文

截图

适合谁用

  • 需要快速安装/卸载多个 Node.js 版本
  • 需要在不同项目之间切换 Node.js 版本
  • 希望同时拥有 GUI 和 CLI 两种工作方式
  • 需要把每个版本环境隔离,降低全局依赖冲突

安装

从发布页下载:

安装后,先在终端确认命令可用:

nvmd -V
node -v
npm -v

核心用法(先看这个)

1)安装 Node.js

nvmd install 20.18.0

2)查看已安装版本

nvmd ls

3)切换全局版本

nvmd use 20.18.0
node -v

4)为当前项目指定版本

nvmd use 18.20.4 --project
node -v

5)查看当前使用版本

nvmd current

6)卸载版本

nvmd uninstall 16.20.2

7)查看可执行文件路径

nvmd which node
nvmd which npm

推荐项目工作流

每个项目建议这样用:

  1. 进入项目根目录
  2. 执行 nvmd use <version> --project
  3. node -v 确认版本
  4. 再执行安装依赖、启动开发等操作

这样可以保证每个仓库的 Node.js 环境更稳定一致。

GUI 怎么用

nvm-desktop 中,你可以:

  • 浏览可安装的 Node.js 版本
  • 安装/卸载指定版本
  • 切换全局默认版本
  • 给项目绑定独立 Node.js 版本
  • 配置镜像源、语言等设置

如果你更偏好点选操作,大部分常见需求都可以在 GUI 完成。

数据存储位置

nvm-desktop 默认数据目录:

  • macOS / Linux:~/.nvmd
  • Windows:%HOMEPATH%\.nvmd

常见内容:

  • bin/nodenpmnpxnvmdcorepack 等 shim
  • versions/:已安装 Node.js 运行时
  • default:全局默认版本
  • projects.json:项目与版本绑定信息
  • setting.json:应用设置

常见问题

不同 Node.js 版本会共享全局 npm 包吗?

默认不会共享(版本环境隔离)。

如果你希望共享全局包,可设置统一前缀目录:

npm config set prefix "/path/to/shared-global"

我该用 GUI 还是 CLI?

  • 想可视化管理,用 GUI
  • 想脚本化、自动化、终端优先,用 CLI(nvmd

本地开发

前置依赖:

  • Rust
  • Node.js
  • pnpm

运行:

pnpm check
pnpm install
pnpm dev

构建:

pnpm build

产物目录:

  • ./src-tauri/target/release/bundle

许可证

MIT

Extension points exported contracts — how you extend this code

StringifyErr (Interface)
(no doc) [1 implementers]
src-tauri/src/cmd/mod.rs
DataTableProps (Interface)
(no doc)
src/components/ui/data-dnd-table.tsx
ColumnMeta (Interface)
(no doc)
@types/table.d.ts
Window (Interface)
(no doc)
@types/index.d.ts
DataTableViewOptionsProps (Interface)
(no doc)
src/components/ui/data-table-view-options.tsx
Version (Interface)
(no doc)
@types/index.d.ts
DataTableColumnHeaderProps (Interface)
(no doc)
src/components/ui/data-table-column-sort-header.tsx
ProgressData (Interface)
(no doc)
@types/index.d.ts

Core symbols most depended-on inside this repo

cn
called by 128
src/lib/utils/ts-cn.ts
data_arc
called by 38
src-tauri/src/config/draft.rs
stringify_err
called by 29
src-tauri/src/cmd/mod.rs
clone
called by 27
src-tauri/src/config/draft.rs
edit_draft
called by 22
src-tauri/src/config/draft.rs
apply
called by 21
src-tauri/src/config/draft.rs
installedList
called by 17
src/services/cmds.ts
save_file
called by 13
src-tauri/src/config/node.rs

Shape

Function 422
Method 75
Class 22
Interface 19
Enum 8

Languages

TypeScript55%
Rust45%

Modules by API surface

src/services/cmds.ts25 symbols
src-tauri/crates/get-node/src/archive/mod.rs17 symbols
src/components/ui/combobox.tsx16 symbols
src/components/ui/dropdown-menu.tsx15 symbols
src-tauri/src/core/node.rs15 symbols
src-tauri/src/utils/dirs.rs13 symbols
src/components/ui/alert-dialog.tsx12 symbols
src-tauri/src/core/tray.rs12 symbols
src-tauri/src/core/project.rs12 symbols
src-tauri/src/config/settings.rs12 symbols
src-tauri/src/config/groups.rs12 symbols
src-tauri/src/config/node.rs11 symbols

For agents

$ claude mcp add nvm-desktop \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact