解决tsc编译器版本过低问题

发布时间 2023-08-09 14:34:09作者: Qubernet

我们知道,tsc是TypeScript的编译器,可以将TypeScript脚本(.ts文件)编译为JavaScript脚本(.js文件)。根据约定,TypeScript脚本文件使用.ts后缀名,JavaScript脚本文件使用.js后缀名。tsc的作用就是把.ts脚本转变成.js脚本。

1、?问题描述

突然在使用tsc编译器对.ts文件进行编译时,发现提示了如下错误:

D:\test\app.ts(2,5): error TS1005: ';' expected.
D:\test\app.ts(8,1): error TS1008: Unexpected token; 'module, class, interface, enum, import or statement' expected.

image

2、?查找问题

经过一番问题查找,发现是tsc的版本过低造成的,版本为1.0.3.0,如下图所示:

image

那么问题来了,我明明全局已经安装了最新的tsc(版本为5.1.6),为什么还是1.0.3.0呢?

image

image

3、?解决问题

后来进过问题的查找,终于定位到问题所在。

  • 在环境变量的系统变量中,我们双击Path,如下图所示:

    image

  • 在弹出窗口中,我们会发现有如下一行配置:

    C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\
    

    image

  • 然而我电脑中的NodeJS的全局配置在上述配置的下方(PS:环境变量越靠前,被使用的优先级就越优先使用),如下图所示:

    image

  • 既然是NodeJS的全局配置TypeScript1.0配置顺序优先级导致的,那么我们可以将NodeJS的全局配置上移到C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\之前不就行了,如下图所示:

image

  • 验证:此时我们保存环境变量后,重新打开CMD等命令窗口,输入tsc -v命令查看其版本号就是5.1.6最新的了,如下图所示:

    image

  • 针对上述通过顺序解决问题之外,我们还可以直接删除掉C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\这项环境变量配置,或者删除掉C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\中的所有文件。

    至于为什么会出现C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\这项配置,应该是我电脑上安装Visual Studio的时候自动安装的。

4、?验证tsc编译器

此时我们再来使用tsc编译器将.ts文件编译为.js文件,结果就正常不报错了,如下图所示:

image