Я пытаюсь использовать composer для библиотеки, и в документах мне сказали поместить строку в мой файл composer.json
(require : xxxx
), но в проекте уже есть файл composer.json
.
Я пытался прочитать документы о композиторе, и они говорят, чтобы поместить файл в основную папку.Но уже есть один composer.json
файл.
Когда я добавляю require
то, что мне нужно (setasign/fpdi-fpdf": "^2.0
), я получаю эту ошибку (я получаю ту же ошибку с командой composer require setasign/fpdi-fpdf
):
composer require setasign/fpdi-fpdf
Using version ^2.0 for setasign/fpdi-fpdf
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for setasign/fpdi No version set (parsed as 1.0.0) -> satisfiable by setasign/fpdi[No version set (parsed as 1.0.0)].
- setasign/fpdi-fpdf v2.0.0 requires setasign/fpdi ^2.0 -> satisfiable by setasign/fpdi[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
- Can only install one of: setasign/fpdi[v2.0.0, No version set (parsed as 1.0.0)].
- Can only install one of: setasign/fpdi[v2.0.1, No version set (parsed as 1.0.0)].
- Can only install one of: setasign/fpdi[v2.0.2, No version set (parsed as 1.0.0)].
- Can only install one of: setasign/fpdi[v2.0.3, No version set (parsed as 1.0.0)].
- Installation request for setasign/fpdi-fpdf ^2.0 -> satisfiable by setasign/fpdi-fpdf[v2.0.0].
Installation failed, reverting ./composer.json to its original content.
Я не очень знаком с композитором, поэтому я не могу знать, что делать с этой ошибкой.
Мой composer.json
файл выглядит так:
{
"name": "setasign/fpdi",
"homepage": "https://www.setasign.com/fpdi",
"description": "FPDI is a collection of PHP classes facilitating developers to read pages from existing PDF documents and use them as templates in FPDF. Because it is also possible to use FPDI with TCPDF, there are no fixed dependencies defined. Please see suggestions for packages which evaluates the dependencies automatically.",
"type": "library",
"keywords": [
"pdf",
"fpdi",
"fpdf"
],
"license": "MIT",
"autoload": {
"psr-4": {
"setasign\\Fpdi\\": "src/"
}
},
"require": {
"php": "^5.6 || ^7.0",
"ext-zlib": "*"},
"authors": [
{
"name": "Jan Slabon",
"email": "jan.slabon@setasign.com",
"homepage": "https://www.setasign.com"
},
{
"name": "Maximilian Kresse",
"email": "maximilian.kresse@setasign.com",
"homepage": "https://www.setasign.com"
}
],
"suggest": {
"setasign/fpdf": "FPDI will extend this class but as it is also possible to use \"tecnickcom/tcpdf\" as an alternative there's no fixed dependency configured.",
"setasign/fpdi-fpdf": "Use this package to automatically evaluate dependencies to FPDF.",
"setasign/fpdi-tcpdf": "Use this package to automatically evaluate dependencies to TCPDF."
},
"require-dev": {
"phpunit/phpunit": "~5.7",
"setasign/fpdf": "~1.8",
"tecnickcom/tcpdf": "~6.2"
},
"autoload-dev": {
"psr-4": {
"setasign\\Fpdi\\": "tests/"
}
}
}
Я также попросил помощи в вопросах библиотеки, и кто-то ответил мне:
Почему вы используете composer.json из FPDI?Наверняка вам нужно создать свой собственный: https://getcomposer.org/doc/01-basic-usage.md!
Вот почему я не совсем понимаю.(Он не ответил мне потом, поэтому я здесь).
Должен ли я перезаписать существующий файл composer.json
?Или, может быть, я должен положить файл в другом месте?