问题描述
我意识到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
文件。