编译打字稿时找不到“ tsc命令”


83

我想安装打字稿,所以我使用了以下命令:

npm install -g typescript 

和test tsc --version,但是它只是显示“未找到tsc命令”。我已经尝试了stackoverflow,github和其他站点中建议的许多方法。但这不起作用。我怎么知道打字稿已安装以及它在哪里。

我的操作系统是Unix,OS X El Capitan 10.11.6,节点版本是4.4.3,npm版本是3.10.5


1
在您的问题中包括您的操作系统及其版本以及Node.js和NPM版本。
Cartant

5
很可能您的节点/ npm设置有问题;例如,相关的npm目录不在您的路径上。安装打字稿的位置取决于您的环境,但是您可以从开始npm list -g。或尝试npm config get prefix(您的软件包通常在此bin目录下)。也看到这个问题

谢谢,我知道了。我忘了导出前缀路径。
Aung Thet

您也可以检查一下我的答案
Zameer Ansari

Answers:


112

一些提示

  • 重新启动终端
  • 重新启动机器
  • 重新安装nodejs +然后运行 npm install typescript -g

如果仍然无法运行npm config get prefix,请运行npm install -g将文件放置在哪里(追加bin到输出中),并确保它们在路径中(node js安装程序执行此操作。也许您忘记勾选该选项)。


3
谢谢,我明白了。当然,我忘记分配路径`export PATH = / prefix'sPath / bin:$ PATH'和(docs.npmjs.com/getting-started/fixing-npm-permissions),此站点也建议这样。我为此花了一整天:)。
Aung Thet

stackoverflow.com/a/46783952/495157-此答案更有用-特别是如果您进行Angular / Ionic开发。
JGFMK '19

1
我必须卸载node / npm。用来酿造安装NVM,然后用安装的节点nvm install node,然后sudo npm install -g typescripttsc --version工作
亚历

1
我只做了“ npm install
typescript

升级节点版本对我有所帮助。
JavaDeveloper

29

我必须这样做:

npx tsc app.ts

2
这对我有所帮助,但是要澄清一下,我必须这样做npm install --save-dev typescript && npx tsc --version && npx tsc <filename>。此安装程序通过tsc进行了成功的测试--version,并成功地将我的ts文件编译为js文件。
詹森·弗莱

这行得通,但我只是用了npx tsc。添加tsc可能会解决使用npx的需要。
foureyedraven

8

如果在正确安装TypeScript后(使用以下命令$ sudo npm install -g typescript,在MacOS中找不到TSC命令),请确保将Node /binpath添加到中的PATH变量.bash_profile

.bash_profile使用终端打开:$ open〜/ .bash_profile;

编辑/验证bash配置文件以包括以下行(使用您喜欢的文本编辑器):

export PATH="$PATH:"/usr/local/lib/node_modules/node/bin"";

使用终端加载最新的bash配置文件:source ~/.bash_profile;

最后,尝试命令:$ tsc --version


6

你们都搞砸了全局安装和-path文件。只是一个小错误可能会损坏您曾经编写的每个项目,并且您将花费其余的时间尝试使console.log('hi')重新工作:-=。

如果您在项目中运行了npm我打字稿--save-dev-只需尝试运行:

npx tsc

并在弄乱全局对象之前查看它是否有效(除非您真的知道自己在做什么)

干杯


5

我发现的Mac简易修复程序。只需运行以下命令:

sudo npm install -g concurrently
sudo npm install -g lite-server
sudo npm install -g typescript

除此之外,对我来说什么都没有。


3

我知道这是一个老问题,但是我在Ubuntu 19.10 LTS上也遇到了同样的问题。

为了解决这个问题,我运行了以下命令:

$ sudo apt install node-typescript

之后,我就可以使用了tsc

希望对您有所帮助:)


3

此答案特定于MAC上的iTermV2

  1. 首先,我需要sudo在NPM安装过程中以(admin)身份安装

    sudo npm install -g打字稿

  2. NPM将库安装在/usr/local/Cellar/node/<your latest version>/lib/node_modules/typescript文件夹和符号链接下,位于/usr/local/Cellar/node/<your latest version>/bin/tsc

因此我去了〜/ .zshrc(.bashrc,如果您使用bash)并添加/usr/local/Cellar/node/<your latest version>/bin到$ PATH中。

  1. 通过source ~/.zshrc(在您的情况下为.bashrc)重新加载shell配置文件

嗯,很高兴知道。但是,从现在开始,谁来处理这些链接?
克里斯·皮伦

3

找到仅针对macOS的此小问题的所有解决方案之后。
最终,我在MacBook Pro上使用了TSC。

这可能是我发现的最佳解决方案。

对于所有macOS用户,您可以使用homebrew安装typescript,而不是使用npm安装typescript。

-> brew install typescript

请参阅随附的屏幕截图以供参考。

谢谢。

在此处输入图片说明


2

唯一适用于我的解决方案是npx tsc -v或编译npx tsc salida.ts

“ salida.ts”是文件的名称


0

非管理员解决方案

由于这台机器是我的工作发出的,所以我没有管理员权限。

  • 获取安装节点模块的路径复制到剪贴板
    • npm config get prefix | clip
    • 没有剪辑?只需复制输出npm config get prefix
  • 将复制的路径添加到环境变量
    • 我的首选方法(Windows)
    • (Ctrl + R),粘贴 rundll32 sysdm.cpl,EditEnvironmentVariables
    • 在“用户变量”下,双击“路径” >“新建” >“粘贴复制的路径”

0

上述答案都不能解决我的问题。事实是我的项目没有安装类型脚本。但是我在当地跑过npm install -g typescript。所以我没有注意到TypeScript节点依赖项不在我的包json中。

当我将其推送到服务器端并运行时npm installnpx tsc找不到tsc。实际上,远程服务器没有安装打字稿。因为我在本地安装了全局打字稿,所以隐藏了该文件。


0
  1. 检查你的npm版本

  2. 如果未正确安装,请先安装

  3. 运行此命令 npm install typescript -g

  4. 现在 tsc <file_name>.ts

  5. 它将创建一个相应的.js文件。例如<file_name>.js

  6. 现在尝试 node <file_name>.js


-1

对于Windows:

通过在命令提示符下使用以下命令来添加路径:
path =%path%; C:\ Users \\ npm

在我的情况下,上述路径未注册为命令。

运行窗口中的%userprofile%,将为您提供C:\ users \的路径


-1

这在Mac上完美运行。在macOS High Sierra上测试

sudo npm install -g concurrently
sudo npm install -g lite-server
sudo npm install -g typescript
tsc --init

这将生成tsconfig.json文件。


concurrently并且lite-server与能够运行该tsc命令几乎没有关系。请不要建议安装不必要的依赖项。
安德拉斯

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.