首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将角作为依赖项添加到npm图书馆的依赖项列表中的正确方法

将角作为依赖项添加到npm图书馆的依赖项列表中的正确方法
EN

Stack Overflow用户
提问于 2019-06-27 11:42:12
回答 1查看 131关注 0票数 2

我在NPM上有一个小的angular包,我一直支持它可以在所有新版本的angular中使用。在我的package.json中,我在peerDependencies列表中添加了角,以确保它们始终存在于使用我的库的项目中:

代码语言:javascript
复制
  "peerDependencies": {
     "@angular/animations": "^7.x",
     "@angular/common": "^7.x",
     "@angular/core": "^7.x",
     "@angular/platform-browser": "^7.x",
     "rxjs": "^6.x",
     "typescript": ">=3.1.1 <3.3.0",
     "zone.js": "^0.8.x"
  }

但是,在发布每个新的主要版本的major时,我库的用户在执行npm install时经常会遇到控制台中显示的对等依赖不匹配警告,如下所示:

npm WARN ng2-go-top-button@7.1.0 requires a peer of @angular/animations@^7.x but none is installed. You must install peer dependencies yourself.

因此,我的问题是:在我的库中将angular声明为依赖项的正确方法是什么,这样我就不必每次发布新的angular时都更新它。也许我根本不需要peerDependencies?但是,如何确保使用我的库的项目始终具备所有所需的库?提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-02 09:01:24

好的,所以我自己想出了一个解决办法,因为我的问题的其他答案不太适合我的问题。

我本可以按照前面的答案使用"*""^x.x"版本控制定义"*"和其他依赖项,但这并不完全正确,因为angular的最新版本并不总是完全兼容最新版本的typescript,这就是为什么将依赖项版本设置为"*"可能会导致依赖于我的库的项目中断的原因。

因此,最后,我决定将我的peerDependencies列表保持为- is,并在每次发布新的angular时更新它。这样,我的库将保留兼容的依赖项列表,在开发中不会中断,也不会导致依赖项目中断。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56790241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档