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

运行npm命令报错os.tmpDir is not a function,如何解决?

解决npm运行报错TypeError: os.tmpDir is not a function的方法

问题根源

报错源于当前npm版本依赖的osenv包调用了Node.js已废弃的os.tmpDir()API,而新版Node.js已将该方法替换为小写的os.tmpdir(),引发兼容性冲突。

解决方案

方案1:升级npm到兼容版本

  • 卸载全局npm:
    npm uninstall -g npm
    
  • 安装最新稳定版npm:
    npm install -g npm@latest
    
  • 若卸载失败,重新运行Node.js安装程序,选择「修复」选项,自动更新配套的npm版本。

方案2:临时代码修复

  • 定位报错文件:C:\Users\Gowthamreddy\AppData\Roaming\npm\node_modules\npm\node_modules\osenv\osenv.js
  • 打开文件后找到第49行,将return os.tmpDir()修改为return os.tmpdir()(注意将大写D改为小写d)
  • 保存文件后重试npm install express。

方案3:升级Node.js到LTS版本

  • 执行node -v查看当前Node.js版本,若版本低于14.x,直接安装官方提供的最新LTS版本,新版本会自带兼容的npm,从根源解决兼容性问题。

内容的提问来源于stack exchange,提问作者Gowtham Reddy Asodi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 21:52:29