0

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

> npm run build
message TS6029: Version 1.6.2

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

> (tsc -v; tsc)
Version 1.8.10

什么可能导致这种行为?

4

2 回答 2

0

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

于 2016-06-23T03:32:04.020 回答
0

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

例如,该grunt-typescript模块依赖于 TypeScript,但该模块是旧的和过时的——即使它仍然有效。这可能会导致与tsc -p .安装后脚本内部发生冲突。

于 2017-06-06T18:16:41.877 回答