php - 在 composer 文件中, "reference"指的是什么?

标签 php drupal composer-php

在我的 composer.lock 文件中,我注意到一些包有一个 reference 值:

"dist": {
    "type": "zip",
    "url": "https://ftp.drupal.org/files/projects/paragraphs-8.x-1.1.zip",
    "reference": "8.x-1.1",
    "shasum": "c678e5704a98c6a0549e415412da081cfeb03a00"
},

有些只有null:

"dist": {
    "type": "zip",
    "url": "https://ftp.drupal.org/files/projects/redirect-8.x-1.0-alpha5.zip",
    "reference": null,
    "shasum": "927aa4c8d8b40b0cd2442bee86f2f386d25e53ca"
},

值指的是什么?我以为它指的是提交,但这两个都是 zip 包,其中 1 个有 reference 而另一个没有。

最佳答案

我检查了两个模块的代码并阅读了一些文章。在与 JS 开发人员进行一些研究和讨论后,我了解到 composer 文件中的“引用”表示 PHP 库标记、分支或 zip 文件。因此,例如,如果我说我的包引用来自 "reference":"master" 那么每次我运行 composer update 命令时都会从该存储库中提取代码。定义引用是一种省略将 Composer 文件添加到库本身的要求的方法。但是,如果您的库已经在其自己的目录中使用 composer.json 文件支持 Composer ,那么您将不需要在 Composer 文件中定义包。

现在,让我们来看看这两个模块。首先,检查位于 http://cgit.drupalcode.org/paragraphs/tree/?h=8.x-1.x 的段落模块的源代码树。 ,你会注意到那里没有可用的 composer.json 文件,所以我们必须需要在 composer 文件中定义引用参数来告诉应用程序选择正确的源文件。但另一方面,如果你在 http://cgit.drupalcode.org/redirect/tree/ 看到重定向模块的代码源树,你会在文件的根目录下找到一个 composer.json 。该文件将允许您从应用程序 composer.json 文件中省略引用参数。

此外,我认为如果我们不定义此参数,则会引入最新的参数,并根据上述标准在 composer install 命令运行时更新 composer.lock 文件。

希望这能消除您的疑虑!

关于php - 在 composer 文件中, "reference"指的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44655757/

相关文章:

php - 如何在drupal容器中维护团队工作?

class - 在 drupal 8 的标题区域中添加自定义类

php - 您的要求无法解析为一组可安装的软件包

php - composer 如何定义一个包的版本

.xml 文件中的 PHP 错误?

php - RabbitMQ 等待多个队列完成

php - 通过 WordPress 公开 Web 服务

php - 从 javascript 调用 php 函数,onload(AJAX?)

mysql - 如何将excel数据导入到drupal中的5个指定字段

php - UnexpectedValueException 无法解析版本约束 mybranch : Invalid version string "mybranch"