【问题标题】:Symfony Flex: What does symfony.lock file do?Symfony Flex:symfony.lock 文件有什么作用?
【发布时间】:2017-11-20 19:25:58
【问题描述】:

安装symfony/serializer 后,我发现我的symfony.lock 文件已更改:

diff --git a/symfony.lock b/symfony.lock
index ba6e23f..bfc391e 100644
--- a/symfony.lock
+++ b/symfony.lock
@@ -301,5 +301,8 @@
     },
     "symfony/asset": {
         "version": "v3.3.10"
+    },
+    "symfony/serializer": {
+        "version": "v3.3.13"
     }
 }

据我了解,它是随 Symfony Flex 引入的,但它与 composer.lock 有何不同?为什么还需要它?

【问题讨论】:

    标签: php symfony symfony4 symfony-flex


    【解决方案1】:

    这是Symfony recipes的正确锁定文件,而不是试图通过composer.lock的状态来猜测

    Flex 会在 symfony.lock 文件中跟踪它安装的配方,该文件必须提交到您的代码存储库 (CVS)。 https://symfony.com/doc/3.4/setup/flex#how-does-flex-work

    从Flex1.0.34版本开始引入,原本是为了解决这样的bug:"Configuring recipes executed twice"

    【讨论】:

    • 感谢您的明确回答。这是否意味着symfony.lock 可以从vcs 中删除?
    • @waghanza 我刚刚更新了答案以更明确地说明这一点,symfony.lock 文件必须提交到您的 CVS 存储库中。谢谢!
    • 不,composer.lock 用于跟踪 composer.json 中依赖项的解析。 Symfony 配方是独立的,并不相互排斥。
    • @gview 问题/答案不是关于 composer.lock,而是使用 Symfony Flex 时的 symfony.lock 文件。
    • @yceruto:我的评论是对 waghanza 问题的回答。
    猜你喜欢
    • 2018-10-24
    • 2018-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 2013-02-10
    • 1970-01-01
    • 2016-04-15
    相关资源
    最近更新 更多