【问题标题】:Is a different version of tsc used when using npm run?使用 npm run 时是否使用了不同版本的 tsc?
【发布时间】:2018-12-24 17:09:45
【问题描述】:

我有一个 VS Code 和一个使用 Typescript 的 Node.js 项目。在我的 package.json script 块中有一个项目:

"build-ts": "tsc"

如果我在集成终端命令行上运行普通的tsc,编译就可以了。但是如果我调用npm run build-ts,它会检测到一个文件上的语法错误。错误的原因似乎来自较旧的编译器版本。

如果我在命令行上运行tsc -v,它会显示版本 2.9.2。 npm run 是否在某处使用了其他版本的 tsc?

顺便问一下,npm run 是来自包npm-run-script 吗?我运行了npm list,但在本地或全局找不到 npm-run-script。

【问题讨论】:

  • 您是否在本地安装了tsc,在项目的node_modules 文件夹中?好像npm run 先看这里。
  • 就是这样!有一个版本作为开发依赖项。谢谢。

标签: typescript npm visual-studio-code npm-run


【解决方案1】:

问题已通过评论解决,但我将把这个答案留在这里作为更详细的版本。

  1. 当您执行npm run(或npm run-script)时,它首先查找本地安装的可执行文件。这允许为每个项目使用不同版本的这些可执行文件(例如,如果某些库与 tsc 的新版本不兼容)。因此,如果tsc 被安装为依赖项(或开发依赖项),npm run 将执行它,而不是全局安装的那个。 gulp 和其他 CLI 工具也是如此。

  2. npm run-script 不是一个包,它是一个内部的npm 命令,就像install 和其他命令一样。您可以通过npm help 进行检查 - 此命令一次显示所有内置命令的列表。

【讨论】:

    猜你喜欢
    • 2016-10-25
    • 2018-01-24
    • 1970-01-01
    • 2022-06-22
    • 2021-03-11
    • 2018-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多