找不到 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 Code 的 Windows 用户,如果不想为 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; e、n、v、i、r、o;点击编辑您帐户的环境变量。
在打开的窗口中找到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 模块
无法使用 TSC - 读取文件“anything.ts”时出错:找不到文件