我们知道,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.

2、查找问题

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

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

3、解决问题

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

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

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

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

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

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

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

  • 针对上述通过顺序解决问题之外,我们还可以直接删除掉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文件,结果就正常不报错了,如下图所示:

解决tsc编译器版本过低问题的更多相关文章

  1. 更新Android SDK之后Eclipse提示ADT版本过低的一个简易解决办法

    首先说明一下发表这一篇博文的“历史原因”吧,因为在更新SDK之后,进入Eclipse设置Android SDK目录的时候,会突然说我的版本低什么的,尝试自己解决但失败之后,我在搜索引擎上找了很多中文的 ...

  2. 转:更新Android SDK之后Eclipse提示ADT版本过低的一个简易解决办法

    拜GFW所赐,对于初学者的我来说,总会出现一些莫名其妙的问题 首先说明一下发表这一篇博文的“历史原因”吧,因为在更新SDK之后,进入Eclipse设置Android SDK目录的时候,会突然说我的版本 ...

  3. npm和node的版本过低时的解决办法

    npm版本过低时的解决办法npm全名Node Package Manager 1.配置源的三种方法:1).npmrc文件的作用,就是配置npm源:使用淘宝源的方法就是在文件.npmrc中加入下面的语句 ...

  4. 解决selenium不支持firefox低版本的问题

    解决selenium不支持firefox低版本的问题 在火狐浏览器升级后,突然发现webdriver运行脚本的时候不能调出火狐浏览器了,并报错WebDriverException:Message:'C ...

  5. 关于IOS新手在安装cocoa pods失败,因为ruby版本过低的解决方法+ (void) {升级ruby}

    http://blog.csdn.net/zhaoen95/article/details/51995520     现在: 使用 OS 系统, 正在学习iOS 需要配置cocoapods 命令行中显 ...

  6. Ubuntu安装微信,解决deepin“版本过低”或NO_PUBKEY问题

    在搜索引擎搜索Ubuntu安装微信,最多的结果是通过deepin安装 但是里面使用的deepin-for-ubuntu 安装之后微信扫码会提示版本过低 直接安装deepin.com.wechat_2. ...

  7. Ubuntu16.04+wineQQ+解决版本过低

    [参考1:] http://blog.csdn.net/sinat_32079337/article/details/72771078? [参考2:] http://blog.csdn.net/qq_ ...

  8. RHCS 6.5 由于resource-agents-3.9.2-40.el6版本过低导致rgmanager[61164]: [fs] umount failed - REBOOTING问题的解决

    問題描述: RHEL 6.5版本RHCS在disable或者relocate service的時候,會導致節點重啟,查看日誌顯示umount掛载點失敗,日誌如下: Nov 29 16:03:50 ph ...

  9. SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题

    as we known,sql数据库高版本向低版本还原是不太可能但是又经常会碰到的事,今天实测了一种方法 步骤:任务—>生成脚本—> 下一步->高级,选择数据库版本和编写脚本数据类型 ...

  10. 调用sharepoint 2010 REST报版本过低

    问题描述: 写了一个webservice调用sharepoint REST,本机测试成功,部署到服务器上后报错 (System.Data.Services.Client.DataServiceQuer ...

随机推荐

  1. Mobexterm 串口换行错误

    问题描述 使用 Mobexterm 连接串口时,在回显中存在换行错误问题,严重影响阅读串口数据. 解决方法 在左侧操作窗口中右击发生 换行错误问题 的窗口,比如我需要右击 COM9 右击后,在下拉列表 ...

  2. element-ui resetFields 无效的问题

    1.问题 触发bug的条件是先打开,编辑进行赋值,后打开新增 先点开编辑 再打开新增 这个时候你会发现刚刚赋值过的数据还遗留在表单里面 即使在打开  dialog  的时候执行了重置也没有效果 res ...

  3. Java通用分页

    一. 要分页我们必须要有数据库,所以我们先准备下数据库,其数据库脚步如下: --以下是创建数据库和数据库表以及向数据库插入数据  use master   Go   if exists(select ...

  4. MySQL之查询操作

    1)使用in查询, 保持顺序 SELECT * FROM `template_data` where template_id in (7339747298123169843,7339747324194 ...

  5. 项目监控之sentry

    github: https://github.com/getsentry/sentry 1.什么是sentry? 当我们完成一个业务系统的上线时,总是要观察线上的运行情况,对于每一个项目,我们都没办法 ...

  6. Spring Cloud Alibaba:一站式微服务解决方案

    一.简介 Spring Cloud Alibaba(简称SCA) 是一个基于 Spring Cloud 构建的开源微服务框架,专为解决分布式系统中的服务治理.配置管理.服务发现.消息总线等问题而设计. ...

  7. 鸿蒙NEXT开发案例:世界时间表

    [引言] 本案例将展示如何使用鸿蒙NEXT框架开发一个简单的世界时钟应用程序.该应用程序能够展示多个城市的当前时间,并支持搜索功能,方便用户快速查找所需城市的时间信息.在本文中,我们将详细介绍应用程序 ...

  8. openEuler创建和root一样的账号

    1. 使用以下命令在 openEuler 操作系统的 root 用户下创建管理员用户: useradd -m -G root admin -m 表示创建用户的同时创建用户的主目录, -G 表示将用户添 ...

  9. Visual Studio C++ 汇编 混合编程

    Visual Studio C++ 汇编 混合编程 实验要求 请用汇编语言编写实现GCD递推公式的子程序,对入口和出口参数形式不做要求,但需要用 C 语言函数来获取输入.调用汇编递推子程序,并且用 C ...

  10. 依赖注入在 dotnet core 中实现与使用:5. 使用支持 Unicode 的 HtmlEncoder

    现象 在 ASP.NET Core MVC 中,当在页面中传递了一个包含中文字符串到页面的时候,页面的显示是正常的,但是如果查看页面源码,却看不到中文,变成了一串编码之后的内容. 例如,在页面中直接定 ...