angular - 如何避免@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;
                 ~~~~~~~~~~~~~~~~~

然后问题是following breaking change在 @types/mousetrap来自:

export const mousetrap: MousetrapInstance;

到:

export const mousetrap: Mousetrap.MousetrapInstance;

在angular2-hotkeys package.json ,依赖定义如下:

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

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

最佳答案

您不能保证与 package.json 一起使用的包版本,即使您指定了完全匹配(没有 ^),因为可能存在需要另一个版本的依赖项。

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

https://stackoverflow.com/questions/64065384/

相关文章:

python - 在嵌套/平面字符串和整数列表中查找超过 10 的最小数字

python - 有没有办法在 python 中抓取没有 Selenium 的 JavaScript

firebase - 使用带有 Flutter Web App 的 http 包发布到 Cloud

linux - 是否可以为 `git clone` 操作指定超时?

html - css的级联顺序

javascript - 如何在 React Native 中更改原生 Picker fontSiz

java - 如何将上下文传播到 Project Reactor 中的下游运算符?

javascript - 来自 firebase 的图像的 html2canvas jsPdf 访问

python - 如何使用 python 编辑相机帧?

python - 如何在 Kotlin 中正确反转链表?