'tsc command not found' 在编译打字稿

'tsc command not found' in compiling typescript

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

npm install -g typescript 

并测试 tsc --version,但它只显示 'tsc command not found'。我已经按照 Whosebug、github 和其他网站中的建议尝试了很多方法。但它不起作用。我怎么知道打字稿已安装以及安装位置。

我的 OS 是 Unix,OS X El Capitan 10.11.6, 节点版本为 4.4.3, npm 版本是 3.10.5

一些提示

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

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

对于windows:

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

在我的例子中,上面的路径没有为命令注册。

%userprofile% in 运行 windows,将为您提供 C:\users\

的路径

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

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

除了这个对我没有任何作用。

这在 Mac 上非常有效。在 macOS High Sierra

上测试
sudo npm install -g concurrently
sudo npm install -g lite-server
sudo npm install -g typescript
tsc --init

这会生成 tsconfig.json 文件。

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

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

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

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

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

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

我必须这样做:

npx tsc app.ts

你们都在搞乱全局安装和 -path 文件。一个小错误可能会破坏您编写的每个项目,您将花费整晚的时间来尝试让 console.log('hi') 重新工作。

如果您的项目中有 运行 npm i typescript --save-dev - 只需尝试 运行:

npx tsc 

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

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

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

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

$ sudo apt install node-typescript

在那之后,我可以使用tsc

此答案特定于 MAC

上的 iTermV2
  1. 首先,我需要在 NPM 安装期间以 sudo(管理员)身份安装

    sudo npm install -g typescript

  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 重新加载 shell 配置文件(在您的情况下为 .bashrc)

非管理员解决方案

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

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

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

"salida.ts"是文件名

找到这个小问题的所有解决方案后,仅适用于 macOS。
终于,我的 TSC 在我的 MacBook pro 上工作了。

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

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

brew install typescript

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

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

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

  1. 检查您的 npm 版本

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

  3. 运行 这个命令 npm install typescript -g

  4. 现在tsc <file_name>.ts

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

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

在 Windows 10 我通过将 %APPDATA%\npm 添加到路径

来解决它

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

这是我的项目结构:

.gitignore 文件:

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"

只需要添加这些脚本:

None 以上对我有用。

我也试过了,

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. 

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

全局安装 TypeScript 包对我有用。

npm install typescript -g

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

使用brew install typescript

我遇到了麻烦,因为我不想全局安装打字稿。我发现我必须向 package.json 添加一个脚本来为我调用 tsc。可以在这里找到解决方案 -

使用:

npm rebuild typescript

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