如何让npm在PowerShell中正常显示输出?
先确认PowerShell能定位到npm可执行文件:执行
Get-Command npm,如果返回空结果,说明npm路径未加入环境变量。找到Node.js安装目录(默认是C:\Program Files\nodejs)和npm全局包路径(C:\Users\<你的用户名>\AppData\Roaming\npm),将这两个路径添加到系统环境变量的Path中,重启PowerShell后再测试。检查npm日志级别配置:执行
npm config get loglevel,如果结果是silent,说明npm被设置为静默输出。执行npm config set loglevel info将日志级别改为正常输出模式,之后再运行npm命令查看效果。强制输出所有流:尝试在npm命令后追加
*>&1,比如npm -v *>&1,如果这样能显示内容,说明PowerShell的输出流可能被异常修改。检查PowerShell配置文件,执行notepad $PROFILE,查看是否有输出重定向的代码,删除后重启PowerShell。以管理员身份运行PowerShell:右键点击PowerShell图标,选择“以管理员身份运行”,再执行npm命令,排查是否是权限导致的输出异常。
重新安装Node.js:卸载现有Node.js,重新下载安装包,安装时确保勾选“Add to PATH”选项,完成安装后重启PowerShell测试。
升级PowerShell版本:如果使用的是旧版Windows PowerShell(比如5.1),尝试安装PowerShell 7(最新跨平台版本),安装后运行npm命令看是否恢复正常。
内容的提问来源于stack exchange,提问作者rofhima13

