48

我有一台装有 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 升级到最新版本,或者我是否仍然坚持使用旧版本。

4

10 回答 10

77

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

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

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

C:\>tsc --version
message TS6029: Version 1.5.3
于 2015-09-11T21:52:17.173 回答
65

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

更新 NPM

npm install npm@latest -g

更新打字稿

npm -g upgrade typescript

或者

npm install typescript@latest -g

现在你应该看到

tsc --version

版本 2.1.5

于 2017-02-06T09:40:15.013 回答
17

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

于 2016-10-29T16:44:55.747 回答
14

即使我安装了最新的打字稿,在执行 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

希望这可以帮助某人。

于 2017-05-29T01:58:34.117 回答
12

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

 npm install -g typescript@latest

该命令将执行以下操作:

检查是否安装了 Typescript 和..

  1. 如果已安装,请将其更新到最新版本
  2. 如果没有安装,请安装最新版本

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

npm update -g typescript@latest

使用测试版本

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

在此处输入图像描述

此外,您可以检查,这是npm 注册表中 typescript 的最新可用版本:

npm view typescript version  // prints the latest available version in the npm registry
于 2017-11-01T14:27:31.907 回答
8

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

于 2013-03-08T19:22:28.930 回答
3

我在 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
于 2017-11-30T00:42:32.523 回答
2
  1. 我在我的 Windows 操作系统计算机上安装了 Visual Studio,它将自己的 TypeScript 安装版本添加到系统路径中
  2. 从程序和功能中卸载“TypeScript for Visual Studio”(或“添加或删除程序”)
  3. 安装了最新的打字稿。从命令提示符'npm install -g typescript@latest'
  4. 问题解决了!

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

于 2018-10-21T09:41:29.420 回答
1

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

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

  1. 为项目安装本地打字稿版本npm install typescript@latest (避免-g参数)
  2. 将构建脚本添加到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" }

  3. 使用本地版本的打字稿运行打字稿编译器,通过npm run build:watch它将tsc -w -p tsconfig.release.json使用项目的tsc本地版本启动node_modules

于 2019-05-08T18:05:45.290 回答
0

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

我尝试where tsc从控制台使用来确定tsc解析路径的位置。第一个条目类似于: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 的内容,但它确实运行.batC:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\vsdevcmd\ext. 其中一个文件显眼地命名为typescript.bat. 我只是将该文件重命名为其他扩展名,然后重新打开控制台,现在一切都很好。

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

于 2019-06-19T00:43:39.203 回答