ChatGPT解决这个技术问题 Extra ChatGPT

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

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

npm install -g typescript 

并测试 tsc --version,但它只显示“找不到 tsc 命令”。我已经尝试了很多方法,如 stackoverflow、github 和其他站点中的建议。但它不起作用。我怎么知道 typescript 已安装以及它在哪里。

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

很可能您的 node/npm 设置有问题;例如,相关的 npm 目录不在您的路径上。 typescript 的安装位置取决于您的环境,但您可以从 npm list -g 开始。或尝试 npm config get prefix(您的软件包通常位于此目录下的 bin 目录中)。另见this question
谢谢你,我明白了。我忘了导出前缀路径。
您还可以查看my answer
我让它工作切换到纱线
在我的情况下,我有两个 Windows 用户,我忘了我需要将它添加到路径中

b
basarat

一些提示顺序

重启终端

重启机器

重新安装 nodejs + 然后运行 npm install typescript -g

如果它仍然不起作用,运行 npm config get prefix 以查看 npm install -g 将文件放在哪里(将 bin 附加到输出)并确保它们在路径中(节点 js 设置执行此操作。也许你忘记了勾选该选项)。


谢谢,我明白了。当然,我忘了指定路径 `export PATH=/prefix'sPath/bin:$PATH' 和 (docs.npmjs.com/getting-started/fixing-npm-permissions) 这个网站也建议这样。我用了一整天的时间来做这个:)。
stackoverflow.com/a/46783952/495157 - 这个答案提供了更多信息 - 特别是如果您进行 Angular/Ionic 开发。
我不得不卸载 node/npm。使用 brew 安装 NVM,然后使用 nvm install node 然后 sudo npm install -g typescript 安装节点以使 tsc --version 工作
我只做了“npm install typescript -g”,效果很好
升级节点版本帮助了我。
D
Dharman

你们都在搞乱全局安装和 -path 文件。一个小错误可能会损坏您曾经编写的每个项目,并且您将花费一整晚的时间试图让 console.log('hi') 再次工作。

如果您在项目中运行了 npm i typescript --save-dev - 请尝试运行:

npx tsc 

在搞乱全局的东西之前看看它是否有效(当然,除非你真的知道你在做什么)


正确答案。
最后一个没有全局安装的答案
同意,这应该是公认的答案!要初始化一个新的 npm 包,运行这 3 个命令: npm init -y && npm i typescript --save-dev && npx tsc --init
感谢您考虑全球安装。虽然我想补充一点,将 TS 编译为 JS 需要“npx tsc foo.ts”
O
Oscar Jovanny

我不得不这样做:

npx tsc app.ts

这对我有帮助,但为了澄清,我必须做 npm install --save-dev typescript && npx tsc --version && npx tsc <filename>。这安装了 tsc,使用 --version 成功对其进行了测试,并将我的 ts 文件成功编译为 js 文件。
这行得通,但我只使用了 npx tsc。添加 tsc 可能会解决需要使用 npx 的问题。
为什么有些人必须将'tsc'与npx一起使用,而对于其他人来说,它可以在没有npx的情况下使用?
D
Dharman

在找到所有针对 macOS 的小问题的解决方案之后。最后,我在我的 MacBook Pro 上安装了我的 TSC。

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

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

brew install typescript

https://i.stack.imgur.com/wKpB8.png


12 小时后,这对我有用 :) 就在你的帖子之后。非常感谢@Marjun
不客气@Prashen :)
P
Penny Liu

全局安装 TypeScript 包对我有用。

npm install typescript -g

i
iamdanchiv

如果在正确安装 TypeScript 后在 MacOS 中找不到您的 TSC 命令(使用以下命令:$ sudo npm install -g typescript,请确保将节点 /bin 路径添加到 .bash_profile 中的 PATH 变量。

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

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

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

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

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


Y
Yoh Deadfall

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

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

除了这个对我有用。


这个答案怎么会有这么多赞?请不要这样做。首先,前两个包与这个问题无关,其次,您不应该使用 sudo 全局安装包。检查此帖子的评论:stackoverflow.com/a/57119888/163799
D
Dharman

我在 Ubuntu 19.10 LTS 上遇到了同样的问题。

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

$ sudo apt install node-typescript

之后,我就可以使用 tsc


L
Lahiru Amarathunge

对于 mac 用户,您无需重新启动笔记本电脑或执行任何其他命令

使用brew install typescript


r
rmcsharry

此答案特定于 MAC 上的 iTermV2

首先,我需要在 NPM install sudo npm install -g typescript NPM 在 /usr/local/Cellar/node//lib/node_modules/typescript 文件夹和符号链接下安装库在 /usr/local/Cellar/node/<您的最新版本>/bin/tsc

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

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


嗯很高兴知道。但是从现在开始谁来处理这些链接呢?
j
juan.pedro.v

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

“salida.ts”是文件名


A
Akash Dutta

检查你的 npm 版本如果没有正确安装,那么首先安装它运行这个命令 npm install typescript -g now tsc .ts 它会创建一个对应的 .js 文件。例如 .js 现在尝试 node .js


D
Dharman

以上都不适合我。

这个我也试过了

yum install typescript 

能够通过钩子和骗子编译如下。不推荐,只是一种解决方法。

只需使用 npm 在本地安装,如 npm install typescript 并在 node_module 文件夹中验证(如果已下载)。然后运行,

./node_modules/typescript/bin/tsc  --help
./node_modules/typescript/bin/tsc  //this line actually runs and compile and generate the compiled file. 

T
Tim Woohoo

对于 windows 和 yarn 用户,请尝试 yarn tsc --init


c
codeherk

非管理员解决方案

我没有管理员权限,因为这台机器是由我的工作发布的。

获取节点模块的安装路径并复制到剪贴板 npm config get prefix |剪辑没有剪辑?只需从 npm config 复制输出获取前缀

npm config 获取前缀 |夹子

没有剪辑?只需从 npm config 复制输出获取前缀

将复制的路径添加到环境变量我的首选方法(Windows)(Ctrl + R),在用户变量下粘贴rundll32 sysdm.cpl,EditEnvironmentVariables,双击路径>新建>粘贴复制的路径

我的首选方法(Windows)

(Ctrl + R), 粘贴 rundll32 sysdm.cpl,EditEnvironmentVariables

在用户变量下,双击路径 > 新建 > 粘贴复制的路径


R
Romain TAILLANDIER

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

当我将它推送到服务器端并运行 npm install 时,然后 npx tsc 我找不到 tsc。事实上远程服务器没有安装打字稿。由于我的本地全局打字稿安装,这被隐藏了。


V
Virax

在 Windows 10 上,我通过将 %APPDATA%\npm 添加到路径来解决它


e
elena.kim

我已经尝试了很多在 Heroku 上部署 Node.js 打字稿项目,我尝试了不同的解决方案,但没有一个适合我。所以,我已经实现了一个解决方案,即在本地创建一个构建,它是一个 dist 文件夹,并且只推送带有 package.json 文件的 dist 文件夹,你不需要将你的 src 文件夹推送到 Heroku。并在您的脚本中添加“start”:“node dist/index.js”

https://i.stack.imgur.com/6CiGs.png

https://i.stack.imgur.com/oeDDL.png

package.json 文件:

"start": "node dist/index.js",
"deploy": "tsc && git add . && git commit -m Heroku && git push heroku master",
"dev": "ts-node-dev --respawn --pretty --transpile-only src/index.ts"

https://i.stack.imgur.com/NVIQw.png


j
jake

我遇到了麻烦,因为我不想全局安装打字稿。我发现我必须向 package.json 添加一个为我调用 tsc 的脚本。可以在此处找到解决方案 - https://stackoverflow.com/a/41446584/6301243


M
Moshe Simantov

利用:

npm rebuild typescript

这将在您的计算机上重建 tsc 链接。


D
Durgesh

对于窗户:

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

与我的情况一样,上述路径未注册为命令。

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


m
mbspark

我通过在出现错误的目录中运行 sudo npm install 在我的机器上解决了这个问题。


您不应被迫运行 sudo 来安装软件包。然后你应该重新安装 npm。查看更多Do not sudo npm
S
Stephen Rauch

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

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

这会生成 tsconfig.json 文件。


concurrentlylite-server 与能够运行 tsc 命令几乎没有关系。请不要建议安装不必要的依赖项。