【发布时间】:2020-06-05 22:38:06
【问题描述】:
我们公司开发了一个插件,它是实现项目的依赖项。
插件的开发者编写他们的代码,首先在实现项目中对插件执行“npm link”,然后运行“npm install”。
一般实施用户只需运行“npm install”,然后从我们的私有 npm 注册表安装插件。这也是我们的 bitbucket 构建运行的方式。
生成的包锁出现问题。我们想使用一个,因为它避免了不同环境之间依赖关系不同的问题。但是,使用“npm link”ed 插件生成的 package-lock 文件与使用从注册表中提取的插件完全不同。
随后,这意味着插件开发人员无法正确安装所有内容(因为“npm install”会覆盖他们的“npm 链接”)。或者一般用户/bitbucket 管道收到错误,因为依赖关系树如此混乱。
有没有办法解决这个问题?我们应该使用不同的工具,还是遵循不同的流程?我们已经尝试了多个节点版本,直到最新的 LTS。
【问题讨论】: