为何全局安装的tsc命令在Git Bash中失效,CMD中却正常?
解决Git Bash中无法运行全局TypeScript(tsc)的问题
这个问题核心是Git Bash与Windows路径的兼容性冲突:全局npm包的启动脚本(比如tsc)调用node时,Git Bash会错误转换Windows风格的路径,导致找不到node可执行文件,而CMD作为原生Windows终端能正确解析这些路径,所以运行正常。
以下是几种可行的解决方法:
修改Git Bash的node别名
在Git Bash中执行命令临时指定node的正确路径:alias node="/c/Program Files/nodejs/node.exe"若要永久生效,把这条命令添加到
~/.bashrc或~/.bash_profile文件中,下次启动Git Bash时会自动加载。重新生成npm全局脚本
先卸载全局TypeScript:npm uninstall -g typescript然后在Git Bash环境下重新全局安装:
npm install -g typescript重新安装后,npm会适配Git Bash的环境生成正确路径的启动脚本。
直接使用tsc的完整路径
在Git Bash里用类Unix格式的完整路径调用tsc:/c/Users/itupe/AppData/Roaming/npm/tsc -v
内容的提问来源于stack exchange,提问作者Adrian
相关产品推荐
相关产品推荐

