如何将 Typescript 升级到最新版本?

Posted

技术标签:

【中文标题】如何将 Typescript 升级到最新版本?【英文标题】:How to upgrade Typescript to the latest version? 【发布时间】:2013-02-24 10:30:08 【问题描述】:

我有一台装有 OS X 10.8.2 的 MacBook Pro 前段时间我安装了 Typescript,今天我想将该安装升级到可用的最新版本(到目前为止,v0.8.3)。 我从终端写了这个命令:

sudo npm install -g typescript

但这是我在显示器上看到的:

npm http GET https://registry.npmjs.org/typescript
npm http 304 https://registry.npmjs.org/typescript
/usr/local/bin/tsc -> /usr/local/lib/node_modules/typescript/bin/tsc
typescript@0.8.0 /usr/local/lib/node_modules/typescript

这是否意味着我的计算机上仍然安装了 0.8.0 版本? 我试图查看 tsc 命令是否有 -v-version 参数,但我没有找到它,所以我仍然不确定我是否已将 Typescript 升级到最新版本,或者我是否仍然坚持使用旧版本版本。

【问题讨论】:

你也许可以通过在命令行上使用这个命令来检查 TypeScript 的版本:npm view typescript version 【参考方案1】:

由于选择的正确答案对我没有帮助,我想我会分享我是如何解决这个问题的。

我不得不从我的 PATH 中删除 C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\

之后我可以运行这个命令并查看我期望的版本:

C:\>tsc --version
message TS6029: Version 1.5.3

【讨论】:

嘿,我也遇到了同样的问题,你是如何删除 `C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0` 路径的,我找不到路径.. .. @akash_sinha13134 这是一篇关于如何从 PATH 中删除变量的文章:digitalcitizen.life/… 也许我们应该将此答案移至 Windows 问题。 @BenR 是的......我知道,但找不到它......就像你说的那样,它有效,谢谢...... :) 只是为了澄清(因为我总是忘记)你需要打开一个新的 cmd 提示符来应用对环境变量所做的任何更改。【参考方案2】:

我在下面为我工作的程序遇到了同样的问题

更新 NPM

npm install npm@latest -g

更新打字稿

npm -g upgrade typescript

npm install typescript@latest -g

现在你应该看到

tsc --version

2.1.5 版

【讨论】:

我在输入 npm update -g tsc 并没有收到任何错误消息,但没有任何效果 :))) 不要犯我的错误,注意语法(upgrade 不是 update)和包名(typescript 不是tsc):D 它是npm upgrade -g typescript @PuneethRai 写的:) tsc 是二进制文件,而 typescript 是包含该二进制文件的包名。所以理想情况下你需要升级包而不是二进制。因此,请升级包含二进制文件的软件包。所以你需要做 npm -g upgrade typescript 谢谢!我还刚刚发现npm updatenpm up 只是npm upgrade 的别名。所以我的主要错误是认为包名是tsc... 只是想添加一个额外的注释 - 我们遇到了同样的问题,但这是因为运行 npm install typescript@latest -g 不起作用。它出错了,因为出于某种原因,它不想更新符号链接。我们刚刚添加了--force,这迫使它更新。可能是因为旧版本的 typescript 已经超过 5 年了...【参考方案3】:

对于那些仍在为此苦苦挣扎的人 - 尝试在命令提示符或 Node.js 命令提示符中运行 WHERE tsc,您将获得它的所有安装位置。从 PATH env var 中删除过多的位置。

【讨论】:

这对我来说就像一个魅力,因为我显然在过去的某个时候通过纱线安装了它。使用npm install 一点用都没有。【参考方案4】:

即使我安装了最新的打字稿,在执行 tsc -v 时我仍然得到 1.0.3 的版本

更正的答案对我没有帮助,但遵循@BenR 方法,从系统变量中删除了这个 PATH C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\

然后打开新的windows命令提示符,然后输入

tsc -v
Version 2.3.3

所以现在我能够使用tsc file.ts 编译打字稿文件

希望这对某人有所帮助。

【讨论】:

【参考方案5】:

打开命令行工具cmd.exe/Git Bash并执行:

 npm install -g typescript@latest

该命令将执行以下操作:

检查是否安装了 Typescript 和 ..

    如果已经安装,更新到最新版本 如果未安装,安装最新版本

据报道,当您已经安装 typescript 时,以下命令将无法可靠运行:

npm update -g typescript@latest

测试版本使用

tsc -v  // prints out the locally installed typescript version

您还可以查看npm registry 中最新可用的打字稿版本:

npm view typescript version  // prints the latest available version in the npm registry

【讨论】:

当我输入 tsc -v 时,我收到一个版本已经存在的错误。错误提示:“删除现有文件并重试,或使用 --force 运行 npm 以鲁莽地覆盖文件。” 我想遵循您的解决方案,但在您检查最新版本后,如何你卸载它以便安装最新的吗?【参考方案6】:

我刚刚意识到我使用的是旧版本的 npm。我已将 npm 升级到最新版本,然后重新安装了 typescript,现在我的计算机上安装了最新版本的 typescript。

【讨论】:

为什么 npm 版本很重要?【参考方案7】:

我在 Linux 上遇到了同样的问题,可能与使用节点版本管理器有关。

我通过查找 tsc 的位置来修复它,然后手动进入并删除这些文件夹

$ which tsc
/home/vagrant/.nvm/versions/node/v6.9.5/bin/tsc

$ cd /home/vagrant/.nvm/versions/node/v6.9.5/bin/
$ ll
...
lrwxrwxrwx 1 vagrant vagrant       38 Nov 30 10:32 tsc -> ../lib/node_modules/typescript/bin/tsc*
lrwxrwxrwx 1 vagrant vagrant       43 Nov 30 10:32 tsserver -> ../lib/node_modules/typescript/bin/tsserver*
...

$ rm -rf ../lib/node_modules/typescript/ tsc tsserver

【讨论】:

【参考方案8】:
    我在我的 Windows 操作系统计算机上安装了 Visual Studio,它在系统路径中添加了自己的 TypeScript 安装版本 从程序和功能中卸载了“TypeScript for Visual Studio”(或“添加或删除程序”) 安装了最新的打字稿。从命令提示符'npm install -g typescript@latest' 问题已解决!

我知道这是一个老问题,但我遇到了类似的问题,这里的答案都没有解决它,将我的答案发布给同一条船上的其他人。

【讨论】:

我使用的是 Win 10,但在搜索中找不到“程序和功能”。您使用的是哪个版本的 Windows? 它现在是“添加或删除程序”,我猜从那以后旧的控制面板已经淘汰了更新。 当时使用的是 Windows 7。我已更新答案以包括 Windows 10 之一(“添加或删除程序”) 感谢您添加 Windows 10 位置!【参考方案9】:

我刚刚在 Windows 8 机器上遇到了这个问题,管理员访问被阻止,我无法卸载全局打字稿,修改 PATH 等。

以下是在这种情况下启动 typescript 项目的方法:

    为项目npm install typescript@latest安装本地打字稿版本(避免-g参数)

    将构建脚本添加到package.json,例如

    scripts: "clean": "rimraf coverage build tmp", "build": "tsc -p tsconfig.release.json", "build:watch": "tsc -w -p tsconfig.release.json", "lint": "tslint -t stylish --project \"tsconfig.json\"", "test": "jest --coverage", "test:watch": "jest --watch"

    通过npm run build:watch 使用本地版本的typescript 运行typescript 编译器,这将使用来自node_modules 的项目本地tsc 启动tsc -w -p tsconfig.release.json

【讨论】:

【参考方案10】:

我遇到了同样的问题,但没有一个流行的答案能解决我的问题。我在装有 Visual Studio 2017 的 Windows 10 上。

我尝试使用控制台中的where tsc 来确定@​​987654323@ 的路径在哪里解析。第一个条目类似于:C:\Program Files (x86)\Microsoft SDKs\TypeScript\x.xx。所以我检查了PATH 变量(系统和用户),找不到那个路径。

我终于在 GitHub 上偶然发现了这条评论:https://github.com/Microsoft/TypeScript/issues/4971#issuecomment-144184935

这为我指明了正确的方向。我使用Console2,我的默认控制台选项卡通过此.bat 文件生成一个Visual Studio 增强控制台: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat

.bat 文件不包含任何特定于 TypeScript 的内容,但它确实运行在 C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\vsdevcmd\ext 中找到的所有 .bat 文件。 那些文件之一显眼地命名为typescript.bat。我只是将该文件重命名为其他扩展名,然后重新打开控制台,现在一切都很好。

不确定这是否会破坏 Visual Studio 中的任何内容,但我不会将它用于 TypeScript。而且我怀疑未来的 Visual Studio 更新可能会将该文件放回原处。但它现在有效。

【讨论】:

您的解决方案听起来不错,而且是最新的,但我确实使用 VS Code for Typescript (Angular),如果这个解决方案在 VS Code 中使用 TSC 搞砸了,我会讨厌它。您使用的是 VS Code 还是完整的 Visual Studio IDE?

以上是关于如何将 Typescript 升级到最新版本?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 docker-compose 升级到最新版本

如何正确将 angular 2 (npm) 升级到最新版本?

nodejs 如何升级到最新版本

如何升级centos到最新版本

将 Node.js 升级到最新版本

如何将我的全局 vue-cli 安装升级到最新版本?