如何避免@types包在补丁级别增加的情况下引入的问题



我意识到我们Angular应用程序的Jenkins构建被破坏了。我们收到以下错误消息。:

ERROR in node_modules/angular2-hotkeys/lib/hotkeys.service.d.ts:9:16 - error TS2304: Cannot find name 'MousetrapInstance'.
9     mousetrap: MousetrapInstance;
~~~~~~~~~~~~~~~~~

那么问题是@types/mousetrap中的以下中断变化:

export const mousetrap: MousetrapInstance;

至:

export const mousetrap: Mousetrap.MousetrapInstance;

在angular2热键package.json中,相关性定义如下:

"dependencies": {
"mousetrap": "^1.6.0",
"@types/mousetrap": "^1.6.0"
},

避免这个版本问题的正确NPM方法是什么?

即使指定了完全匹配(没有^(,也无法保证与package.json一起使用的包版本,因为可能存在需要其他版本的依赖项。

确保计算机中的版本和CI中的版本相同的唯一方法是同时提交package-lock.json文件。

最新更新