TypeScript: tsc不被识别为内部或外部命令、可执行程序或批处理文件。

6

我是 TypeScript 的初学者。我无法编译 TypeScript 文件。

当我在 VS Code 中按下 Ctrl+Shift+B 时,会出现错误“tsc 未被识别”。

我在下载 TypeScript 时使用了 npm。

C:\Users\sramesh>npm install -g typescript
C:\Users\sramesh\AppData\Roaming\npm\tsserver -> C:\Users\sramesh\AppData\Roaming\npm\node_modules\typescript\bin\tsserver
C:\Users\sramesh\AppData\Roaming\npm\tsc -> C:\Users\sramesh\AppData\Roaming\npm\node_modules\typescript\bin\tsc
C:\Users\sramesh\AppData\Roaming\npm
`-- typescript@2.1.5

这是我的tasks.json文件:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "command": "C:\\Users\\sramesh\\AppData\\Roaming\\npm\\node_modules\\typescript\\bin\\tsc",
    "isShellCommand": true,
    "args": [],
    "showOutput": "silent",
    "problemMatcher": "$tsc"
}

有人能帮忙吗?

7个回答

7
我正在使用 Windows 操作系统,但不知何故标记的答案对我没有用。我尝试了 tsc--init,但返回的错误仍然相同。我更新了路径变量为 C:\Users\"用户名"\AppData\Roaming\npm,这样就可以工作了。
注意:将“用户名”替换为您自己的用户名。

6

我曾经也遇到过类似的问题,但在执行tsc -v命令后,版本号并未显示出来。我挠了几天头都没解决。

最后我做了以下四件事:

  1. 安装了最新版的nodejs,即8.1.3
  2. 安装了npm,版本为5.1.0 (npm install npm@latest -g)
  3. 安装了typescript 2.4.1 (npm install -g typescript)
  4. 根据@Uzair Sajid的建议执行了(tsc --init)命令

现在,我可以查看TS版本,并编译TS代码。


3
安装完成后,我尝试的简单解决方案是在环境变量中设置路径变量,直到npm安装的文件夹为止。
C:\Users\"Username"\AppData\Roaming\npm

其中 "Username" 将是您自己的用户名。

然后,打开命令提示符(cmd),使用 cd AppData/Roaming/npm 进入npm文件夹, 并输入 tsc ,它将运行。 现在只需关闭cmd再次打开它,输入 tsc --versiontsc,它将成功运行。


2
你是否尝试在你的目录中运行tsc --init命令?这将在你的目录下创建一个tsconfig.json文件,您可以在其中定义自己的配置。一旦VSCode在根目录中发现此文件,它也会开始使用它。
请查看tsconfig.json文档以获取更多详细信息。

不用谢。编辑:请将答案标记为解决方案,以便关闭问题。 - Uzair Sajid

2
我尝试使用命令行来设置目标。
tsc first.ts --target ES5

这创建了第一个.js(以javascript格式编译的typescript文件)。我手动将该文件移动到scripts文件夹中。

现在,当我使用lite-server命令运行服务器时,浏览器可以找到first.js文件并运行typescript代码。


这是一个解决方法。我不确定tasks.json的方法。我相信这比手动将编译文件移动到脚本文件夹更好的解决方案。任何帮助都将不胜感激。 - codingyo

1

我能够通过以下步骤在我的Windows 10 21H1桌面上解决这个问题:

  1. 全局安装typescript包 → npm install -g typescript

  2. 更新Path环境变量:

    • 在开始菜单中搜索环境变量
    • 选择编辑系统环境变量
    • 高级选项卡中选择环境变量...按钮
    • 系统变量部分查找Path变量
    • 双击该变量
    • 选择新建...
    • 输入您的npm配置下载全局包的位置。您可以使用npm list -g命令找到位置。对于我来说,它在C:\Users\MyUsername\AppData\Roaming\npm —请确保将MyUsername替换为您的用户名
  3. 重新打开终端

  4. 使用tsc -v命令观察结果


0

我在使用TypeScript时遇到了同样的问题,终端无法识别“tsc”命令。

我先用yarn安装了TypeScript,命令为“yarn global add typescript”,然后再用npm安装TypeScript,命令为“npm install -g typescript”,这样问题就解决了,终端可以识别TypeScript命令了。

希望这个答案能对你有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接