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

Windows环境下DDEV WSL2项目执行npm install失败求助

解决WSL2+DDEV环境中npm install因esbuild UNC路径报错的问题

问题根源

报错核心是DDEV终端错误调用了Windows系统的node/npm,而非容器内置工具。Windows的CMD.exe不支持\\wsl.localhost开头的UNC路径,导致esbuild的安装脚本install.js被错误定位到Windows系统目录(C:\Windows),最终触发MODULE_NOT_FOUND错误;同时跨文件系统的工具调用也导致npm安装耗时剧增。

修复步骤

1. 强制使用DDEV容器内的Node.js/npm

  • 进入DDEV容器后,先检查当前node/npm的执行路径:
    which node
    which npm
    
    正常输出应为容器内路径(如/usr/local/bin/node),而非Windows相关路径。
  • 若检测到调用Windows工具,修改DDEV配置文件.ddev/config.yaml,提升容器内工具优先级:
    web_environment:
      - PATH=/usr/local/bin:$PATH
    
  • 重启DDEV容器生效:
    ddev restart
    

2. 验证项目路径映射正确性

  • 确认项目根目录位于WSL2原生文件系统(/home/john/projects),而非Windows挂载目录(如/mnt/c)。
  • 执行ddev describe查看Project root字段,确保显示为WSL内的路径。

3. 直接指定容器内npm执行安装

进入DDEV容器的主题目录后,使用容器内的npm路径执行安装:

cd wp-content/themes/project-theme
/usr/local/bin/npm install

4. esbuild专属临时修复(若上述方法无效)

  • 安装前设置环境变量,强制esbuild使用容器内的二进制文件:
    npm_config_esbuild_binary_path=/usr/local/bin/esbuild npm install
    
  • 或在项目package.json中添加配置:
    "config": {
      "esbuild_binary_path": "/usr/local/bin/esbuild"
    }
    

内容的提问来源于stack exchange,提问作者John Bowler

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 16:12:15