【问题标题】:composer update doesn't update files作曲家更新不更新文件
【发布时间】:2017-06-10 13:01:04
【问题描述】:

我有一个本地 git 存储库和项目,我想在其中使用它。 项目文件夹中的composer.json:

"repositories": [
    {
        "type":"package",
        "package":{
            "name":"api",
            "version":"0.1.0",
            "source":{
                "type":"git",
                "url":"/var/www/modules/api",
                "reference":"master"
            }
        }
    }
],
"require": {
    "api": "*"
}

composer install 从 repo 获取源代码。然后我在存储库中提交了更改并使 git tag "0.1.1" 在 composer.json 我将版本更改为“0.1.1” 运行作曲家更新:

Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
  - Updating api (0.1.0 => 0.1.1) Checking out master
Writing lock file
Generating autoload files

但是文件没有更新。

【问题讨论】:

    标签: composer-php


    【解决方案1】:

    不要使用package 作为存储库类型。如果发生变化,您必须手动更改内部的所有信息。

    package 仅适用于您的代码无法添加 composer.json 或未托管在版本控制中的情况。

    对于所有其他情况,即您有版本控制中的代码,您可以将composer.json 添加到其中,将"type" = "vcs" 与存储库 URL 一起使用。 Composer 的效果会好很多。

    the documentation:

    :如果您依赖的项目不支持 composer,您可以使用包存储库内联定义包。你基本上只是内联 composer.json 对象。

    the documentation:

    注意:此存储库类型有一些限制,应尽可能避免:

    • 除非您更改版本字段,否则 Composer 不会更新包。
    • Composer 不会更新提交引用,因此如果您使用 master 作为引用,则必须删除包以强制更新,并且必须处理不稳定的锁定文件。

    【讨论】:

      猜你喜欢
      • 2015-12-01
      • 2015-09-11
      • 2014-09-07
      • 2016-09-06
      • 2013-06-04
      • 2021-12-16
      • 2020-05-11
      • 2014-09-10
      • 1970-01-01
      相关资源
      最近更新 更多