【问题标题】:How to upgrade Typescript to the latest version?如何将 Typescript 升级到最新版本?
【发布时间】: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

标签: typescript npm


【解决方案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 和 ..

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

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

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

      【讨论】:

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

      我刚刚在 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 使用本地版本的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?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-21
        • 2022-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多