我们公司开发了一个插件,然后将其作为实施项目的依赖项。
插件的开发人员首先通过在实施项目中执行“npm link”,然后运行“npm install”来编写代码。
一般的实施用户只需运行“npm install”,然后从我们的私有npm注册表中安装插件。这也是我们的Bitbucket构建方式。
问题出现在生成的package-lock上。我们想使用它是因为它避免了不同环境之间依赖关系不同的问题。但是,使用“npm link”链接的插件生成的package-lock文件与从注册表中获取的完全不同。
因此,这意味着要么插件开发人员无法正确安装所有东西(因为“npm install”会覆盖他们的“npm link”)。 要么普通用户/Bitbucket管道会收到错误,因为依赖树非常混乱。
有没有办法解决这个问题?我们应该使用不同的工具或者遵循不同的流程吗?我们已经尝试了多个Node版本,最新的LTS。
插件的开发人员首先通过在实施项目中执行“npm link”,然后运行“npm install”来编写代码。
一般的实施用户只需运行“npm install”,然后从我们的私有npm注册表中安装插件。这也是我们的Bitbucket构建方式。
问题出现在生成的package-lock上。我们想使用它是因为它避免了不同环境之间依赖关系不同的问题。但是,使用“npm link”链接的插件生成的package-lock文件与从注册表中获取的完全不同。
因此,这意味着要么插件开发人员无法正确安装所有东西(因为“npm install”会覆盖他们的“npm link”)。 要么普通用户/Bitbucket管道会收到错误,因为依赖树非常混乱。
有没有办法解决这个问题?我们应该使用不同的工具或者遵循不同的流程吗?我们已经尝试了多个Node版本,最新的LTS。