我意识到我们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
文件。