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

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

> tsc greeter.ts

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

【问题讨论】:

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

标签: javascript visual-studio-2012 typescript tsc


【解决方案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 :或者使用大写名称创建另一个,而不是重命名)
  • 我已经使用 '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 变量对我有用。

          【讨论】:

            猜你喜欢
            • 2021-01-24
            • 2019-04-19
            • 2014-03-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-03-20
            • 2023-03-19
            • 1970-01-01
            相关资源
            最近更新 更多