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

WSL下Ubuntu 20.04.5运行Node.js提示模块找不到求助

解决WSL Ubuntu中Node无法找到stream/promises及依赖安装错误的问题

问题根源

  • stream/promises是Node.js v15.0.0才正式内置的模块,当前使用的Node v10.19.0不支持该API,这是运行app.js报错的核心原因。
  • 执行node install报错是因为命令误用:安装项目依赖的正确命令是npm install,而非node install。

分步解决方法

1. 升级Node.js版本(推荐)

Ubuntu官方源提供的Node版本偏旧,建议通过NodeSource源安装新版Node(以v20 LTS为例):

  1. 卸载当前系统自带的Node和npm:
    sudo apt remove --purge nodejs npm
    sudo apt autoremove
    sudo rm -rf /usr/bin/node /usr/bin/npm
    
  2. 配置NodeSource源:
    sudo apt-get update
    sudo apt-get install -y ca-certificates curl gnupg
    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
    NODE_MAJOR=20
    echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
    
  3. 安装新版Node.js:
    sudo apt-get update
    sudo apt-get install -y nodejs
    
  4. 验证版本:
    node -v  # 应显示v20.x.x
    npm -v   # 应显示v10.x.x
    

2. 临时兼容方案(不升级Node)

若暂时无法升级Node,可安装兼容的polyfill包:

npm install stream-promise --save

修改/mnt/c/Users/.../group-project-1-group-6-15064/lib/weatherHandler.js中的引用:
将require('stream/promises')替换为require('stream-promise')

3. 修复依赖安装命令

执行以下命令安装项目依赖:

npm install

该命令会自动读取当前目录的package.json并安装所有声明的依赖。

额外优化建议

  • 避免在WSL中直接操作Windows文件系统(/mnt/c/...),文件权限和性能问题可能引发异常,建议将项目复制到Ubuntu家目录(~/)下运行。
  • 回退Ubuntu版本后,清理npm缓存避免残留问题:
    npm cache clean --force
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 09:31:01