【问题标题】:Using SVN and composer together - Version control of the vendor directorySVN和composer一起使用——vendor目录的版本控制
【发布时间】:2015-10-09 16:04:01
【问题描述】:

这就是我同时使用 composer 和 svn 的方式:

在我的开发版本中,我运行 composer 将所需的包下载到 vendor 目录。然后我将vendor 目录与开发文件夹的其余部分一起提交到svn。生产版本会复制vendor 文件夹。

我知道,建议不要在 svn 中提交 vendor 目录(请参阅 SVN Repo in vendor with Composer),但我希望在 composer update 可能会破坏我的应用程序的情况下安全。它允许我在这种情况下将所有内容回滚到最后的稳定状态。

composer 工作方式的问题是,如果 composer 删除整个目录,签出的 svn repo 会中断。

如果我知道如何回滚最终中断的composer update,我会切换到推荐的做法,只将composer.lockcomposer.json 签入svn。谁能给我解释一下,拜托。

【问题讨论】:

    标签: php svn composer-php


    【解决方案1】:

    当您拥有composer.lock 并运行composer install(未更新)时,您肯定会获得被您“锁定”的依赖项。

    运行composer update 会忽略composer.lock 中的条目并尝试下载composer.json 允许的最新依赖项。

    【讨论】:

    • 这意味着如果composer update 破坏了某些东西,我可以删除vendor 文件夹,恢复composer.lock 并运行composer install ?有什么保证我可以一直依赖这样的包装师?
    • 你永远不应该在生产环境中运行composer update,而应该只运行composer install。您可以在验证没有损坏后在本地运行更新,只需提交 composer.lock
    • 是的,我只在开发环境中运行composer update
    • 我刚刚试了一下。我刚刚从 composer.lock 重新创建了我的供应商目录。
    猜你喜欢
    • 1970-01-01
    • 2016-03-10
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-23
    相关资源
    最近更新 更多