Windows下Git Bash无法运行Firebase命令,安装firebase-tools后报错
Git Bash 执行 Firebase 命令报错排查方案
报错根因
终端抛出的错误内容:
C:\Users\ALEX PC\AppData\Roaming\npm/node_modules/node/bin/node: line 1: This: command not found
这个报错和Firebase本身的安装无关,是两个叠加问题导致的终端执行异常:
- 系统环境变量里配置的npm全局路径是无效的示例路径,和实际包存储路径不匹配
- Git Bash 调用的全局Node启动脚本内容损坏,无法被shell正常解析
分步解决操作
- 第一步:修正无效的环境变量配置
- 打开PowerShell执行命令
npm config get prefix,获取本机真实的npm全局包安装根路径 - 对比当前系统Path里已配置的npm路径:之前添加的
C:\Users\User\AppData\Roaming\npm是网上通用教程里的示例路径,其中User是通用占位符,而当前系统的实际Windows用户名是ALEX PC,真实的npm路径应该是C:\Users\ALEX PC\AppData\Roaming\npm,之前配置的路径根本不存在于当前系统 - 把系统Path里的无效示例路径,替换成
npm config get prefix返回的真实路径
注意:修改完环境变量后,必须完全关闭所有已打开的终端窗口(Git Bash、PowerShell、CMD都要关闭),环境变量的修改才会在后续新开的终端中生效
- 打开PowerShell执行命令
- 第二步:修复损坏的Node启动脚本
- 报错中提到的
node可执行文件位于全局npm路径下的node_modules/node/bin/目录,Git Bash 正常识别的该文件是shell脚本格式,首行应该是shell解释器声明。现在执行时第一行就抛出This: command not found,说明这个文件被意外覆盖成了Windows系统的二进制格式文件,Git Bash无法解析 - 依次在PowerShell中执行卸载命令,清理损坏的全局组件:
npm uninstall -g firebase-toolsnpm uninstall -g node - 重新安装LTS长期支持版本的Node.js,安装过程中保持默认路径配置,不要手动修改全局安装目录参数
- 安装完成后重新执行全局安装命令:
npm install -g firebase-tools
- 报错中提到的
- 第三步:验证修复结果
- 打开全新的Git Bash窗口,执行
firebase --version,如果能正常返回firebase-tools的版本号,说明问题已解决
如果依然报相同错误,检查Git Bash安装目录下的etc/profile配置文件,确认没有手动写入硬编码的无效npm路径
- 打开全新的Git Bash窗口,执行
内容的提问来源于stack exchange,提问作者Alex Masinde
相关产品推荐
相关产品推荐

