Node.js 强制npm使用与其依赖项之一相同的包版本

Node.js 强制npm使用与其依赖项之一相同的包版本,node.js,npm,dependency-management,Node.js,Npm,Dependency Management,有没有办法强制npm为我的应用程序安装与我的软件包的依赖项使用的版本相同的依赖项 情况是,我有一个UI组件库,其中包括一个时区控件。此时区控件使用时刻时区。在我的应用程序中,我也使用矩时区来计算时间值等等 但是,我不希望时区元数据在我的应用程序和时区控件之间失去同步,原因很明显 有人对我如何做到这一点有什么想法吗?我思考过或尝试过的攻击线,以及我与它们之间存在问题的原因: 让库指定它用作对等依赖项的特定版本。问题是,即使使用该库的应用程序不需要时刻时区(大多数人不需要),如果peerDepen

有没有办法强制npm为我的应用程序安装与我的软件包的依赖项使用的版本相同的依赖项

情况是,我有一个UI组件库,其中包括一个时区控件。此时区控件使用时刻时区。在我的应用程序中,我也使用矩时区来计算时间值等等

但是,我不希望时区元数据在我的应用程序和时区控件之间失去同步,原因很明显

有人对我如何做到这一点有什么想法吗?我思考过或尝试过的攻击线,以及我与它们之间存在问题的原因:

  • 让库指定它用作对等依赖项的特定版本。问题是,即使使用该库的应用程序不需要时刻时区(大多数人不需要),如果peerDependence丢失,npm也会发出警告
  • 通过库/节点\模块/时刻时区包含库版本的时刻时区。不过,根据目录的特定布局,感觉相当粗略
  • 只需将所有时区操作代码放入库中。这对其中一些人来说是有意义的,但其中一些人觉得它对我的用例太具体了,无法保证包含在库中(这可能只是意味着我需要进行一些重构)

本质上,我需要的是一个可选的peerDependency,这不是一件事。

不确定你的意思是什么,但是,我不希望我的应用程序和时区控件之间的时区元数据不同步,也许是一个例子?在任何情况下,如果您在package.json中指定与库相同的版本,这并不能解决您的问题吗?哦,我可以-我只是不希望库的用户必须手动确保他们的应用程序使用与库相同的矩时区版本。我也有类似的问题,您是否找到了解决方案,或将其作为“手动”流程?