gpt4 book ai didi

composer-php - Composer 不会将文件添加到自动加载

转载 作者:行者123 更新时间:2023-12-05 07:51:04 29 4
gpt4 key购买 nike

在 Composer 项目中,我必须添加一个库,它没有 composer.json 并且不使用命名空间。因此,我调整了项目的 composer.json 以添加库:

{
[...]
"type": "project",
"repositories": [
{
"type": "package",
"package": {
"name": "interpid/tfpdf-table",
"version": "5.1.0",
"dist": {
"url": "contrib/tfpdf_table_5.1.0.zip",
"type": "zip"
},
"autoload": {
"classmap": ["", "classes/", "classes/Pdf/", "classes/Pdf/String/", "classes/Pdf/Table/Cell/", "font/"],
"files": ["tfpdf.php", "classes/pdftable.php"]
}
}
}
],
"require": {
[...]
"interpid/tfpdf-table": "5.1.*"
}
[...]
}

composer update 上,zip 文件被提取并按预期/配置存储在目录 vendor/interpid/tfpdf-table 中。但是 PHP 文件/类不会添加到由 classmapfiles 配置定义的自动加载文件中。 composer dump-autoload 也无济于事。

最佳答案

正如您指出的那样,zip 被提取到 vendor/interpid/tfpdf-table,而不是 vendor/interpid,这意味着额外的根文件夹是 zip 的一部分. Composer 无法神奇地猜测到这一点,它只是从根包文件夹解析,所以 vendor/interpid。因此,您必须在所有自动加载器定义前加上 tfpdf-table/ 前缀。

如果您想发现此类问题,请使用 -vvv 标志运行 composer update

关于composer-php - Composer 不会将文件添加到自动加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35521010/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com