npm - NPM 无法解决依赖关系
问题描述
我有一个包(@polkadot/api),它依赖于其他一些包(@polkadot/keyring、@polkadot/util-crypto 和@polkadot/wasm-crpyto)。我需要要求这些软件包中的每一个。
如果我安装了 3 个临时依赖项,npm 会给我这样的错误:
Multiple instances of @polkadot/keyring detected, ensure that there is only one package in your dependency tree.
5.6.3 /home/clay/projects/saito-lite/node_modules/@polkadot/keyring
5.6.3 /home/clay/projects/saito-lite/node_modules/@polkadot/api/node_modules/@polkadot/keyring
Multiple instances of @polkadot/wasm-crypto detected, ensure that there is only one package in your dependency tree.
3.2.3 /home/clay/projects/saito-lite/node_modules/@polkadot/wasm-crypto
3.2.3 /home/clay/projects/saito-lite/node_modules/@polkadot/api/node_modules/@polkadot/wasm-crypto
Multiple instances of @polkadot/util-crypto detected, ensure that there is only one package in your dependency tree.
5.6.3 /home/clay/projects/saito-lite/node_modules/@polkadot/util-crypto
5.6.3 /home/clay/projects/saito-lite/node_modules/@polkadot/api/node_modules/@polkadot/util-crypto
如果我删除了@polkadot/keyring(例如),我会收到如下错误:
Cannot find module '@polkadot/keyring'
有人可以告诉我如何告诉 npm 解决这些依赖关系吗?我想我可以使用一个别名,并在我的 node_modules 中保留每个临时依赖项中的 2 个(实际上是 4 个),但是当版本匹配时这似乎几乎没有必要,我只需要每个版本的一个版本。
我觉得 NPM 在这里是愚蠢的,但是我吗?这不应该“正常工作”吗?
解决方案
好吧,不是总是这样,只要你在 SO 上写一个问题,你就会在一分钟后找到答案吗?
事实证明,“npm dedupe”似乎解决了我的问题。
我暂时将问题留在这里,因为我进行了大量搜索,但找不到与此完全相同的任何其他问题。我也认为有讨论什么是处理这个问题的正确方法的空间,波卡人是否可以更好地处理这个问题。
推荐阅读
- elasticsearch - ELK 堆栈中的新字段 - logstash
- sql - 需要有可以为任何动态给定查询生成 CSV 文件的 SSIS 包
- c# - 素数查找器 C#
- mysql - SQL 键,外键有点太锁定了
- c++ - arg 方向的“in”和“out”是什么意思?
- php - 在 Laravel Blade 中使用 {{ Str::limit }} 辅助类时出错
- java - 如何在Scala中实现扩展Comparable且没有特定类型的Java接口?
- angular - Angular 6 - 如何根据变量的值注册不同的路由
- objective-c - 如何在 Sharpie 中正确设置范围?
- .net-core - 导航到英文 /en/ 站点时,路由模板会导致 404