You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于在Windows存储的项目中通过WSL使用nvm的疑问

WSL 工作原理与 nvm 管理 Windows 项目 Node 版本的方法

先澄清你的核心误解:WSL 不是完全独立的虚拟机

WSL 和传统虚拟机完全不同:

  • WSL1 基于 Windows 内核的兼容层直接运行 Linux 程序,没有硬件级的隔离
  • WSL2 虽用到轻量级虚拟机,但和 Windows 深度绑定——文件系统、网络均与 Windows 互通,并非割裂的独立系统

WSL 怎么访问 Windows 的 C 盘?

Windows 的所有磁盘会被 WSL 自动挂载到 /mnt 目录下:

  • C 盘对应 /mnt/c
  • D 盘对应 /mnt/d
    你直接在 WSL 终端执行 cd /mnt/c/你的项目路径,就能进入 Windows 里的项目文件夹,操作逻辑和 WSL 自身目录完全一致。

让 WSL 里的 nvm 作用于 C 盘项目的具体操作

  1. 进入 Windows 项目目录
    比如你的项目在 C:\Users\XXX\my-project,在 WSL 终端执行:
cd /mnt/c/Users/XXX/my-project
  1. 用 nvm 切换/安装 Node 版本
    正常使用 nvm 命令即可,示例:
# 安装指定版本
nvm install 18.17.0
# 切换到该版本
nvm use 18.17.0

nvm 通过修改当前终端会话的环境变量生效——不管当前目录是在 WSL 内部还是挂载的 Windows 目录,只要在这个终端窗口里,Node 版本就会被 nvm 控制。
3. 验证生效状态
在项目目录下执行:

node -v
npm -v

确认版本与 nvm 切换的一致后,就能正常执行 npm install、npm run dev 等命令,所有操作都会直接修改 Windows 目录里的项目文件(比如生成的 node_modules 就存放在你 C 盘的项目文件夹中)。

WSL 和 nvm 与 Windows 的协作逻辑

  • WSL 里的 nvm 仅管理 WSL 环境内的 Node 版本,和 Windows 系统自身安装的 Node 完全独立、互不干扰
  • 在 WSL 中操作挂载的 Windows 目录时,本质是通过 WSL 的文件映射机制直接读写 Windows 磁盘文件——所以用 WSL 里的 Node 运行项目脚本,修改的就是你 C 盘里的项目文件
  • 若需要在 Windows 自带终端(如 PowerShell、CMD)中使用相同 Node 版本,需单独安装 Windows 版 nvm,两个环境的 nvm 相互独立,版本管理互不影响

内容的提问来源于stack exchange,提问作者gio broliatto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 05:35:23