找不到 Typescript 编译器:命令“tsc”无效

Posted

技术标签:

【中文标题】找不到 Typescript 编译器:命令“tsc”无效【英文标题】:Can't find Typescript compiler: Command "tsc" is not valid 【发布时间】:2012-09-23 01:16:22 【问题描述】:

刚刚安装了 VS2012 的 Typescript 扩展,然后跟着 Install TypeScript for Visual Studio 2012 和 tutorial 调用编译器:

> tsc greeter.ts

但是当我尝试编译 .ts 文件时,我应该在哪里输入:tsc greeter.ts?在 VS 命令行和 windows 控制台中尝试过,总是得到 tsc 未被识别为命令的消息(Command "tsc" is not valid.)。

【问题讨论】:

你是如何编译的?在命令行还是通过 GUI? 可能重复:javac is not recognized as an internal or external command, operable program or batch file @hakre,这怎么可能是重复的?..答案是关于.NET SDK! 要在系统上调用命令,您需要指定它的完整路径,或者命令托管目录是路径变量的一部分。这实际上是相同的,只是命令不同。不过我想说,这种关联的心理行为对于普通程序员来说应该是可能的。 @user11201714 抱歉?问题是 6 岁,也不是关于安装打字稿。 【参考方案1】:

如果您使用 tsc 作为节点模块,请确保您已经安装了它

npm install -g typescript

那么它应该在你的节点命令提示符下全局可用

【讨论】:

我没有安装node/npm模块,可以访问。目前我不确定它是否带有 VS 2012 或 TypeScript 插件。 Visual Studio 2012 没有对 typescript 的开箱即用支持,但插件会安装编译器。此下载页面typescript.codeplex.com/releases/view/111080 说您可以使用 "An MSI contains tools for Visual Studio, plus the compiler" 安装 typescript。如果您可以从 cmd 访问编译器但尚未全局安装节点模块,则 Typescript 插件已安装编译器并将其添加到您的路径中。 如果你已经安装了tsc作为node模块,你也可以使用npm list -global --depth=0查看,是否全局安装成功。 这是一个比公认的更好的答案。无论平台或编辑器软件如何,它都应该解决相同的问题。 tsc 应该在哪里?我按照指示安装,我重新启动了命令提示符,但 tsc 无法识别。我是缺少路径条目还是缺少 tsc.exe(或类似文件)【参考方案2】:

确保你有,

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

或者,

C:\Program Files\Microsoft SDKs\TypeScript\0.8.0.0

在你的路上。如果没有,请尝试重新启动 CMD.EXE 并查看是否显示新副本。如果失败,请尝试手动将上述其中一项添加到您的路径中。

【讨论】:

不错! Ive 路径(x86),它的 x64 窗口..谢谢! 如何将它添加到路径?我自己试过了,但还是不行。也许我做错了?我在 PATH 中添加了“tsc”和“C:\Program Files\Microsoft SDKs\TypeScript\0.8.0.0”,但 VS CMD 仍然看不到它的存在。此外,VS CMD 无法识别任何东西 尝试将路径变量的名称更改为 PATH :或者使用大写名称创建另一个,而不是重命名) windowsitpro.com/systems-management/… 我已经使用 'npm install -g typescript' 命令安装了 typescript,但在我的 Windows 8.1 Pro 机器上找不到上面的路径来设置路径。【参考方案3】:

对于使用 Visual Studio CodeWindows 用户,如果不想为 tsc.exe 安装完整的 Visual Studio,我可以建议从这里:https://www.microsoft.com/en-us/download/details.aspx?id=48593。

很遗憾,TypeScript 下载页面中缺少此链接。

虽然安装程序名为 TypeScript for Visual Studio 2015,但它也适用于 Visual Studio Code。

下载并安装 TypeScript 后,应手动将其安装目录(在我的情况下为 C:\Program Files (x86)\Microsoft SDKs\TypeScript\2.0\)添加到 %PATH% environment variable。

打开环境变量编辑器:

Win + S; enviro;点击编辑您帐户的环境变量

在打开的窗口中找到Path用户变量(注意这里没有命名为%PATH%,但还是这个)。您可能已经在那里设置了一些路径。您只需输入;追加 TypeScript 安装位置,最后再添加一个;

截图供参考:

完成后,打开命令提示符并输入tsc -v。如果正在显示tsc.exe 的版本,那么您就完成了。为此,请在更改 %PATH%重新启动命令提示符和 VS 代码

附:如果您收到“错误 TS5057:在指定目录中找不到 tsconfig.json 文件:'.'”,只需在文档根目录中创建 tsconfig.json 文件(这可能是您的 .ts 文件所在的位置),内容简单:@ 987654339@。这意味着“一个空的 JSON 文件 <...>。这对大多数人来说已经足够了。” (source)。

【讨论】:

“为此,请重新启动命令提示符”很高兴您添加了这一点。这就是为什么它对我不起作用。 为您的帐户编辑环境变量并在“C:\Program Files (x86)\nodejs\”之前添加以下内容,添加 =>“%AppData%\npm”。关闭命令提示符,vs 代码并重新打开 @Vaibhav 这意味着您已安装 npm。我的回答更通用,除了 tsc.exe 本身之外不需要任何依赖项。 这是一个救命的答案,@Neurotransmitter - 谢谢。我整个晚上都在尝试让 Visual Studio Code “看到”并运行 tsc,在我尝试过的所有事情中,这是第一个起作用的过程。 (在我的情况下,安装文件夹是C:\Program Files (x86)\Microsoft SDKs\TypeScript\3.2\ ,但除此之外,我还按照您的详细而出色的说明来信 - 谢谢!) 更新:这似乎是我想要实现的 - 安装 Visual Studio Code 和 TypeScript 但 无需 必须安装 Node.js 13.4.0(最后一个 Node.js 与Windows 7) - 最终是不可能的。不过,感谢@Neurotransmitter,在我的 VSC+TS 发现过程中,几乎没有任何效果。【参考方案4】:

通常关闭并重新打开命令提示符可以解决问题。

【讨论】:

【参考方案5】:

检查这两个文件夹以找出您拥有的 TypeScript 版本:

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

右键单击显示版本号的文件夹,然后“复制为路径”。

将其粘贴到您的系统路径中(快速访问 - Windows 键,然后键入“env”)。然后以管理员身份打开一个新的命令提示符控制台,'tsc' 应该可以工作了。

【讨论】:

有没有更好的方法来获取tsc.exe 的路径,而不是假设它是%PROGRAMFILES(X86)%\Microsoft SDKs\TypeScript\version\tsc.exe?我们如何确定版本号是什么?我们可以使用一些注册表值吗?【参考方案6】:

作为新的路径变量,不要使用显示的 tsc version 数字,而是使用不同的 TypeScript 文件夹名称。

示例:

tsc -v display 2.4.1 

但 TypeScript 目录是

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

【讨论】:

【参考方案7】:

只需删除 AppData\Roaming\npm\tsc.ps1 文件即可解决问题。

【讨论】:

【参考方案8】:

在 CMD 中键入 where tsc 如果它没有显示像这样的路径 C:\Program Files (x86)\Microsoft SDKs\TypeScript\typescript version you installed\ 这意味着您的 tsc 没有从这里运行。您需要按照 @TranslucentCloud 的答案手动更改环境路径。

【讨论】:

【参考方案9】:

就我而言,我确实使用-g 标志全局安装了打字稿,但tsc 未被识别。 原来path环境变量中没有包含下面的目录:

C:\Users\Jitendra\AppData\Roaming\npm

将此目录添加到 path 变量对我有用。

【讨论】:

以上是关于找不到 Typescript 编译器:命令“tsc”无效的主要内容,如果未能解决你的问题,请参考以下文章

即使 tsc 成功解决它,也找不到 Typescript 模块

node.js/typescript 找不到本地模块

无法使用 TSC - 读取文件“anything.ts”时出错:找不到文件

使用 yarn 安装依赖项编译 Typescript

rxjs 模块在 VS2019 中找不到,但在 tsc cli 中找到

这不是您要查找的 tsc 命令