【问题标题】:different version of Typescript used in `npm run` script`npm run` 脚本中使用的不同版本的 Typescript
【发布时间】:2016-10-25 04:58:47
【问题描述】:

我使用npm as my build tool 并且我的packages.json 文件的scripts 字典中的条目之一是"tsc",这会导致我的项目中的.ts 文件被编译。但是我注意到,当我直接调用 > tsc 时,我收到了不同的 TypeScript 错误消息。打电话给> npm run start。我将脚本条目更新为(tsc -v; tsc),我得到:

> npm run build
message TS6029: Version 1.6.2

而如果我直接调用相同的命令,我会得到:

> (tsc -v; tsc)
Version 1.8.10

什么可能导致这种行为?

【问题讨论】:

  • 有一个指向 typescript 编译代码版本的指针与预编译器正在查看的指针不同。

标签: typescript npm npm-run


【解决方案1】:

哎呀。查看我的package.json 文件,我意识到devDependencies 包含以下条目:"typescript": "~1.6.2"。我将其更新为~1.8.10 并执行了> npm install,问题就消失了。

【讨论】:

    【解决方案2】:

    另一个考虑因素(对于那些可能也遇到类似问题但没有直接依赖关系的人)是其他 npm 包可能依赖于 TypeScript,并且这些包使用的是旧版本。在这种情况下,您不会在 package.json 文件中看到任何内容,但 npm 会找到传递依赖项并使用它。

    例如,grunt-typescript 模块依赖于 TypeScript,但该模块已经过时了——尽管它仍然可以工作。这可能会导致与在安装后脚本中包含 tsc -p . 发生冲突。

    【讨论】:

      猜你喜欢
      • 2018-12-24
      • 2020-03-02
      • 1970-01-01
      • 2019-02-22
      • 2017-03-26
      • 2018-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多