Windows 32位系统Heroku CLI执行任意命令均报'ENOENT': spawn tasklist ENOENT错误
解决Windows 32位系统Heroku CLI报错
ENOENT: spawn tasklist ENOENT的方案 我来帮你一步步排查这个问题!这个报错的核心原因是Heroku CLI在调用Windows系统命令tasklist时找不到它,下面是具体的解决步骤:
1. 检查系统环境变量Path是否包含C:\Windows\System32
tasklist.exe是Windows自带的系统工具,默认存放在C:\Windows\System32目录下。如果这个路径没在系统环境变量Path里,Heroku CLI就找不到它:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」列表里找到
Path,点击弹窗右侧的「编辑」 - 查看是否有
C:\Windows\System32这一项,如果没有,点击「新建」添加它,然后点击「确定」保存 - 重启你的终端(CMD/PowerShell),再尝试执行
heroku version命令
2. 验证tasklist命令本身是否可用
打开终端,直接输入tasklist并回车:
- 如果能正常输出系统进程列表,说明这个命令本身没问题,继续往下排查
- 如果也报错找不到命令,那是系统本身的问题,你可以尝试修复系统文件:
在管理员终端里执行sfc /scannow,等待系统扫描并修复损坏的系统文件,完成后重启电脑再试
3. 排查Node.js与Heroku CLI的冲突
虽然两者一般不会冲突,但也有可能是Path顺序或版本兼容性导致的:
- 暂时把Node.js的安装路径从系统Path里移除(或者先重命名Node.js的安装目录),重启终端后测试Heroku命令
- 如果此时Heroku CLI能正常运行,说明确实存在冲突:
你可以把Heroku的路径(C:\...\Heroku\bin)调整到Node.js路径的前面,或者卸载现有Node.js,重新安装和Heroku CLI兼容的LTS版本
4. 重新安装32位专属的Heroku CLI
注意!如果你之前安装的是64位版本的Heroku CLI,在32位Windows系统上可能会出现兼容性问题:
- 先彻底卸载现有Heroku CLI:通过控制面板的「程序和功能」卸载,然后手动删除Heroku的安装目录(比如
C:\Program Files (x86)\Heroku),并清理系统Path里的Heroku相关路径 - 下载Windows 32位版本的Heroku CLI安装包,重新安装
- 安装完成后重启终端,测试命令是否正常
5. 尝试用管理员权限运行终端
有时候权限不足也会导致无法调用系统命令:
- 右键终端图标(CMD/PowerShell),选择「以管理员身份运行」
- 在管理员终端里执行Heroku命令,看是否能正常运行
内容的提问来源于stack exchange,提问作者ICanKindOfCode
相关产品推荐
相关产品推荐

