我们有一个包含多个较小软件包的主项目。
所有软件包都有自己的依赖性,并使用lerna进行链接。
到目前为止,默认情况下,主项目的所有软件包的默认版本为“最新”。 这是从我们自己的npm存储库中获取最新的软件包,而不是使用本地版本(因为符号链接时最新的版本永远不会与版本匹配)。
但是,当我们要在本地测试软件包时,需要将版本切换到可以与该软件包的package.json匹配的版本。通常我们只使用“ *”。 所有包的各个依赖项也都设置为“ *”。我们希望他们尽可能遵循主项目的依赖关系。但是,这会触发符号链接的程序包。
Consider this project structure
基本上,当我们切换一个软件包的本地版本时。它将所有其他软件包作为本地软件包获取(因为默认情况下我们将“ *”作为所需版本)。 这会导致版本和逻辑不匹配。
有什么办法可以使软件包遵循主项目中指定的版本?