我正在尝试理解这部分内容:http://getcomposer.org/doc/02-libraries.md#lock-file
“锁定文件对于依赖它的其他项目没有任何影响,它只会对主要项目产生影响。”
这是什么意思呢?如果项目P依赖库A,而库A又依赖库B v1.3,那么项目P就不用关心库B的版本,并且可能会安装B 1.4,这是否意味着锁定文件没有作用呢?
还是说与依赖关系管理器应该具有的行为相反?
答案是:当使用Composer安装依赖包时,它会生成一个" lock file ",其中包含了所有依赖项及其依赖项的确切版本号。在之后的安装中,Composer将使用此文件来确保安装的软件包与先前安装的软件包完全相同,以避免由于更新或更改可能导致的不兼容性问题。
因此,该引用所述的锁定文件只会影响主要项目,而不会影响依赖它的其他项目,因为其他项目可以有自己的锁定文件来确保它们的依赖项与特定版本相匹配。
这是什么意思呢?如果项目P依赖库A,而库A又依赖库B v1.3,那么项目P就不用关心库B的版本,并且可能会安装B 1.4,这是否意味着锁定文件没有作用呢?
还是说与依赖关系管理器应该具有的行为相反?
答案是:当使用Composer安装依赖包时,它会生成一个" lock file ",其中包含了所有依赖项及其依赖项的确切版本号。在之后的安装中,Composer将使用此文件来确保安装的软件包与先前安装的软件包完全相同,以避免由于更新或更改可能导致的不兼容性问题。
因此,该引用所述的锁定文件只会影响主要项目,而不会影响依赖它的其他项目,因为其他项目可以有自己的锁定文件来确保它们的依赖项与特定版本相匹配。