Git Bash中无法执行tsc命令,CMD可正常运行,求解决方法
解决Git Bash中tsc命令报错问题
问题本质
报错是因为Git Bash把Windows环境下的npm全局脚本当成类Unix shell脚本解析,硬编码的Windows路径在Git Bash里无法被正确识别,导致执行时触发"This: command not found"错误。
具体解决方案
修复tsc启动脚本
找到C:\Users\grant\AppData\Roaming\npm目录下的tsc文件(无后缀),打开后替换内容为:#!/usr/bin/env node require('../node_modules/typescript/bin/tsc')保存后再在Git Bash里执行
tsc测试。如果找不到typescript路径,先在CMD里跑npm list -g typescript确认安装位置,再调整require的路径。调整Git Bash的PATH配置
在Git Bash里执行echo $PATH,确保node安装目录(比如/c/Program Files/nodejs)和npm全局目录(/c/Users/grant/AppData/Roaming/npm)在PATH列表中且顺序靠前。如果不在,修改~/.bashrc文件,添加:export PATH="/c/Program Files/nodejs:/c/Users/grant/AppData/Roaming/npm:$PATH"保存后重启Git Bash生效。
临时替代执行方式
若上述方法无效,直接在Git Bash里用node执行tsc核心文件:node /c/Users/grant/AppData/Roaming/npm/node_modules/typescript/bin/tsc.js
内容的提问来源于stack exchange,提问作者ArtificialScientist
相关产品推荐
相关产品推荐

