跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScriptNode.js大前端

Windows 本地与 WSL 双环境安装 Node.js 及 VSCode 配置

综述由AI生成介绍在已有 WSL 环境下,如何在 Windows 本地安装 Node.js 以及三种 VS Code 工作模式。方案包括直接本地安装、共享 WSL 环境及双环境共存。详细说明了环境变量配置、pnpm 安装方法及编辑器设置。VS Code 支持双窗口独立、单一窗口切换及多文件夹工作区模式。建议根据项目类型选择环境,前端用本地,需 Linux 特性用 WSL,并提供了常见问题解决与最佳实践。

链路追踪发布于 2026/3/23更新于 2026/5/2317K 浏览
Windows 本地与 WSL 双环境安装 Node.js 及 VSCode 配置

本地(而非 WSL 内)安装 Node.js

在已有 WSL 环境的情况下,如果你想在 Windows 本地(而非 WSL 内)安装 Node.js 以便其他 Windows 编辑器(如 WebStorm、Sublime、Notepad++ 等)使用,可以按照以下步骤操作。

方案一:Windows 本地安装 Node.js

1. 安装 Node.js
  • 访问 Node.js 官网
  • 下载 LTS 版本的 Windows 安装包(.msi)
  • 运行安装程序,按默认选项安装即可
2. 验证安装

打开 Windows 的 PowerShell 或 CMD(不是 WSL 终端):

node --version
npm --version

Node.js 官方安装程序自带的包管理器只有 npm。如何正确安装 pnpm?既然 Node.js 环境已经装好(有 node 和 npm),现在你可以用以下任何一种方法,一分钟内安装好 pnpm。

方法一:使用 npm 安装(最推荐,最通用) 打开你的 命令提示符(CMD) 或 PowerShell,运行以下命令:

npm install -g pnpm

这个命令会利用你已有的 npm,全局(-g)安装 pnpm。安装完成后,新开一个命令行窗口,再运行 pnpm -v 就能看到版本号了。

方法二:使用 PowerShell 脚本安装(Windows 专用) 如果你喜欢,也可以在 PowerShell(管理员身份运行)中使用独立脚本安装:

iwr https://get.pnpm.io/install.ps1 -useb | iex

验证与使用 安装成功后,务必关闭当前命令行窗口,再打开一个新的(这是为了重新加载环境变量),然后输入:

pnpm -v

如果显示版本号(例如 9.x.x),就大功告成了。之后你就可以在你的项目目录下,用 pnpm install 代替 npm install 来安装依赖了。

总结与建议 核心原因:Node.js MSI 安装程序 不会 安装 pnpm,你需要手动安装。最佳行动:打开命令行,运行 npm install -g pnpm。后续项目:如果你想在特定项目中强制使用 pnpm,可以在项目根目录创建 .npmrc 文件并写入:package-manager=pnpm@latest。

如果你在按照以上步骤操作后,pnpm -v 命令仍然不识别,那很可能是系统 环境变量(Path) 没有自动更新。

3. 配置系统环境变量(通常自动完成)

安装程序会自动将 Node.js 和 npm 添加到系统 PATH。

4. 在编辑器中配置
  • VS Code:使用 WSL 扩展,已经可以直接访问 WSL 中的 Node.js
  • 其他编辑器:默认会使用 Windows 本地的 Node.js

方案二:共享 WSL 的 Node.js(需要配置)

如果你希望 Windows 编辑器使用 WSL 中的 Node.js:

1. 在 WSL 中安装 Node.js
# Ubuntu/Debian WSL
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
# 验证
node --version
2. 创建访问 WSL Node.js 的脚本

在 Windows 上创建批处理文件 wsl-node.bat:

@echo off
wsl node %*
3. 配置编辑器

部分编辑器允许指定 Node.js 解释器路径,可以指向这个批处理文件。

方案三:双环境共存(灵活切换)

1. 安装 Windows 版 Node.js(同方案一)
2. 使用不同终端
  • WSL 终端 → 使用 WSL 中的 Node.js
  • Windows 终端/PowerShell → 使用 Windows 的 Node.js
3. 识别当前环境
  • 检查终端类型:echo $SHELL(WSL)vs 无此变量(Windows)
  • 检查路径格式:/mnt/c/(WSL)vs C:\(Windows)

常见问题解决

1. 版本冲突

如果遇到版本问题,可以:

  • 在项目根目录创建 .npmrc 指定平台:
script-shell=wsl.exe bash
2. 包管理器选择
  • Windows 本地:使用 npm 或 yarn(Windows 版)
  • WSL 内:使用 npm、yarn 或 pnpm
3. 项目位置建议
  • WSL 项目:放在 WSL 文件系统内(/home/username/projects/)
  • Windows 项目:放在 Windows 分区(C:\projects\)
4. 性能考虑
  • 对于前端项目,Windows 本地 Node.js 性能足够
  • 对于需要 Linux 环境的后端项目,建议使用 WSL 中的 Node.js

推荐方案

  1. 大部分情况:Windows 本地安装 Node.js(方案一)最简单
  2. 需要 Linux 环境:在 WSL 中开发,VS Code 通过 WSL 扩展连接
  3. 跨平台项目:使用容器化(Docker)确保环境一致

这样你就可以在保持 WSL Node.js 环境的同时,让其他 Windows 编辑器使用本地安装的 Node.js。

VS Code 可以灵活地在 WSL 环境 和 Windows 本地环境 之间切换,甚至同时使用两种环境。

VS Code 三种主要使用模式

1. 模式一:双窗口独立工作

同时打开两个 VS Code 实例:

# 在 Windows PowerShell 中打开本地项目
code C:\Users\YourName\Projects\windows-project
# 在 WSL 终端中打开 WSL 项目
wsl cd ~/projects/wsl-project
code .

这样你会看到两个独立的 VS Code 窗口:

  • 一个连接到 WSL 环境(右下角显示 WSL: Ubuntu)
  • 一个使用 Windows 本地环境(右下角无 WSL 标识)

2. 模式二:单一窗口切换远程环境

在 VS Code 窗口左下角,点击 远程连接指示器:

><

可以:

  1. 关闭当前远程连接 → 切回 Windows 本地
  2. 选择新的远程目标 → 连接到 WSL 或其他容器
  3. 重新打开文件夹 → 在不同环境打开同一项目

3. 模式三:多文件夹工作区

创建包含不同环境文件夹的工作区:

// project.code-workspace
{
  "folders": [
    {
      "name": "WSL Project",
      "uri": "vscode-remote://wsl+Ubuntu/home/user/wsl-project"
    },
    {
      "name": "Windows Project",
      "path": "C:\\Users\\user\\windows-project"
    }
  ]
}

配置技巧

1. 区分终端

在 VS Code 中打开多个终端:

// settings.json
{
  "terminal.integrated.profiles.windows": {
    "PowerShell": {
      "source": "PowerShell",
      "icon": "terminal-powershell"
    },
    "WSL Bash": {
      "path": "wsl.exe",
      "args": ["-d", "Ubuntu"],
      "icon": "terminal-bash"
    }
  }
}
2. 配置文件分离

VS Code 支持 环境特定的设置:

  • Windows 专用设置 .vscode/settings.json
  • WSL 专用设置 .vscode/remote/settings.json 或 .vscode/settings.json 配合远程设置
3. 扩展管理
  • 用户扩展:安装在 Windows 本地,部分会自动在 WSL 中使用
  • WSL 扩展:特定扩展(如某些语言支持)需要在 WSL 中重新安装
  • 检查扩展:在扩展面板查看 "Local - Installed" vs "WSL: Ubuntu - Installed"

实际工作流示例

场景 1:前端项目(Windows 本地)
# Windows PowerShell
cd C:\projects\react-app
code .
# 打开本地环境
# 在 VS Code 中使用 Windows 的终端
npm install
# 使用 Windows Node.js
npm start
场景 2:后端项目(WSL 环境)
# WSL 终端
cd ~/projects/node-api
code .
# 自动连接到 WSL
# 在 VS Code 中使用 WSL 终端
npm install
# 使用 WSL 中的 Node.js
npm run dev
场景 3:混合开发
# 同时打开两个窗口
# 窗口 1:WSL 后端
wsl cd ~/projects/backend
code .
# 窗口 2:Windows 前端(新 PowerShell 窗口)
cd C:\projects\frontend
code .

命令行快速切换

1. 强制在特定环境打开
# 强制在 Windows 中打开
code --disable-remote C:\project
# 强制在 WSL 中打开
code --remote wsl+Ubuntu /home/user/project
2. 常用命令
# 查看当前连接
code --status
# 列出可用远程目标
code --list-remote
3. 使用别名

在 PowerShell 配置文件添加:

function code-wsl { code --remote wsl+Ubuntu $args }
function code-win { code --disable-remote $args }

最佳实践建议

  1. 项目位置规划:
    • WSL 项目:放在 /home/user/projects/
    • Windows 项目:放在 C:\Users\user\Projects\
  2. Git 配置:
    # Windows:使用 Windows Git
    # WSL:使用 WSL Git
    # 避免跨环境操作 Git 仓库
    
  3. 性能优化:
    • WSL 项目性能:将项目放在 WSL 文件系统中(非 /mnt/c/)
    • 大型项目:考虑使用 WSL 2(如果尚未使用)
  4. 环境变量管理:
    // 环境特定的启动配置
    {
      "configurations": [
        {
          "name": "Windows Debug",
          "env": {
            "NODE_ENV": "development"
          }
        },
        {
          "name": "WSL Debug",
          "env": {
            "NODE_ENV": "development"
          }
        }
      ]
    }
    

常见问题

Q1:如何知道当前在哪个环境?
  • 查看 VS Code 窗口 左下角
  • 查看状态栏的 远程指示器
  • 检查终端路径格式
Q2:扩展需要重复安装吗?
  • UI 类扩展(主题、图标):自动同步
  • 工具类扩展(语言支持、调试器):部分需要 WSL 中安装
  • 查看提示:扩展面板会显示 "Install in WSL" 按钮
Q3:如何迁移项目环境?
  1. 关闭当前文件夹
  2. 点击远程连接指示器
  3. 选择 "Reopen Folder in WSL" 或 "Reopen Folder Locally"
Q4:配置文件冲突?

VS Code 会优先使用:

  1. .vscode/remote/settings.json(远程特定)
  2. .vscode/settings.json(通用)
  3. 用户全局设置

总结

VS Code 的远程开发功能让你可以:

  • ✅ 同时使用两种环境
  • ✅ 轻松切换环境
  • ✅ 保持各自环境的独立性
  • ✅ 享受相同的编辑器体验

建议做法:根据项目需求选择环境,前端/简单项目用 Windows,需要 Linux 特性的项目用 WSL。两个环境可以无缝并行工作。

目录

  1. 本地(而非 WSL 内)安装 Node.js
  2. 方案一:Windows 本地安装 Node.js
  3. 1. 安装 Node.js
  4. 2. 验证安装
  5. 3. 配置系统环境变量(通常自动完成)
  6. 4. 在编辑器中配置
  7. 方案二:共享 WSL 的 Node.js(需要配置)
  8. 1. 在 WSL 中安装 Node.js
  9. Ubuntu/Debian WSL
  10. 验证
  11. 2. 创建访问 WSL Node.js 的脚本
  12. 3. 配置编辑器
  13. 方案三:双环境共存(灵活切换)
  14. 1. 安装 Windows 版 Node.js(同方案一)
  15. 2. 使用不同终端
  16. 3. 识别当前环境
  17. 常见问题解决
  18. 1. 版本冲突
  19. 2. 包管理器选择
  20. 3. 项目位置建议
  21. 4. 性能考虑
  22. 推荐方案
  23. VS Code 三种主要使用模式
  24. 1. 模式一:双窗口独立工作
  25. 在 Windows PowerShell 中打开本地项目
  26. 在 WSL 终端中打开 WSL 项目
  27. 2. 模式二:单一窗口切换远程环境
  28. 3. 模式三:多文件夹工作区
  29. 配置技巧
  30. 1. 区分终端
  31. 2. 配置文件分离
  32. 3. 扩展管理
  33. 实际工作流示例
  34. 场景 1:前端项目(Windows 本地)
  35. Windows PowerShell
  36. 打开本地环境
  37. 在 VS Code 中使用 Windows 的终端
  38. 使用 Windows Node.js
  39. 场景 2:后端项目(WSL 环境)
  40. WSL 终端
  41. 自动连接到 WSL
  42. 在 VS Code 中使用 WSL 终端
  43. 使用 WSL 中的 Node.js
  44. 场景 3:混合开发
  45. 同时打开两个窗口
  46. 窗口 1:WSL 后端
  47. 窗口 2:Windows 前端(新 PowerShell 窗口)
  48. 命令行快速切换
  49. 1. 强制在特定环境打开
  50. 强制在 Windows 中打开
  51. 强制在 WSL 中打开
  52. 2. 常用命令
  53. 查看当前连接
  54. 列出可用远程目标
  55. 3. 使用别名
  56. 最佳实践建议
  57. Windows:使用 Windows Git
  58. WSL:使用 WSL Git
  59. 避免跨环境操作 Git 仓库
  60. 常见问题
  61. Q1:如何知道当前在哪个环境?
  62. Q2:扩展需要重复安装吗?
  63. Q3:如何迁移项目环境?
  64. Q4:配置文件冲突?
  65. 总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 合唱队形问题:动态规划解法
  • 微信 4.1.5.16 UI 树失效修复:UIAutomation 实战与 AI-RPA 落地
  • Codex 与字节跳动 Trae 的 AI 代码实践
  • 基于 AgentFabric 微调 Qwen-7B Chat 实现工具调用
  • 基于 AI 的智能算力分配:云原生架构与实践
  • VS Code 中 GitHub Copilot 安装后无法使用的问题排查与解决
  • 10 款 AI PPT 生成工具实测:从答辩到汇报的适配选择
  • 无人机航拍视觉任务数据集汇总:检测与分割资源
  • Wren 个人博客模板:纯原生构建的响应式设计
  • 前端开发基础:HTML 常用标签与结构详解
  • C/C++ 算法入门:多状态动态规划——打家劫舍与股票买卖问题
  • GeoServer 2.27.3 结合 GeoWebCache 发布 ArcGIS 切片(WMTS 服务)
  • VS Code Copilot 配置文件提示未知工具警告
  • Cubase15 R2R/VR最新一键安装完整版下载安装cubase 15最新版本下载安装支持Win/Mac 双系统版本加104G原厂音源Mac系统不关SIP安装Mac Cubase 15编曲软件
  • gpt-oss-20b WEBUI 功能测评及 Ollama 无缝集成
  • Enterprise Architect 16 下载与安装指南
  • PX4 与 ROS 集成:Offboard 模式解析及轨迹跟踪实战
  • 心电信号(ECG)处理流程与核心算法详解
  • 使用 Python SDK 调用 Coze 工作流详解
  • OpenClaw 多机器人多 Agent 模式:构建 AI 助手团队

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online