Composer는 .git 저장소를 사용하여 TCPDF를 설치합니다.
-
21-12-2019 - |
문제
작곡가를 통해 TCPDF를 설치하려고 합니다.작동하지만 불행하게도 항상 93MB의 전체 .git 디렉토리도 설치합니다..git 항목 없이 TCPDF 파일만 설치하고 싶습니다.
그렇게하는 방법?
내 Composer.json은 다음과 같습니다.
{
"name": "myprojects/project1",
"require": {
"yiisoft/yii": "~1.1.15",
"twbs/bootstrap": "~3.2.0",
"tecnick.com/tcpdf": "~6.0.89",
"phpoffice/phpexcel": "~1.8.0"
}
}
미리 감사드립니다.
편집 1:
다음은 packagist 저장소에서 다운로드한 TCPDF 작성기 파일의 작성기 구성입니다. 이것이 문제 해결에 도움이 될지는 확실하지 않습니다.
{
"name": "tecnick.com/tcpdf",
"version": "6.0.089",
"homepage": "http://www.tcpdf.org/",
"type": "library",
"description": "TCPDF is a PHP class for generating PDF documents.",
"keywords": ["PDF","tcpdf","PDFD32000-2008","qrcode","datamatrix","pdf417","barcodes"],
"license": "LGPLv3",
"authors": [
{
"name": "Nicola Asuni",
"email": "info@tecnick.com",
"homepage": "http://nicolaasuni.tecnick.com"
}
],
"require": {
"php": ">=5.3.0"
},
"autoload": {
"classmap": [
"fonts",
"config",
"include",
"tcpdf.php",
"tcpdf_parser.php",
"tcpdf_import.php",
"tcpdf_barcodes_1d.php",
"tcpdf_barcodes_2d.php",
"include/tcpdf_colors.php",
"include/tcpdf_filters.php",
"include/tcpdf_font_data.php",
"include/tcpdf_fonts.php",
"include/tcpdf_images.php",
"include/tcpdf_static.php",
"include/barcodes/datamatrix.php",
"include/barcodes/pdf417.php",
"include/barcodes/qrcode.php"
]
}
}
편집 2:
구성 옵션 "preferred-install"을 추가하여 작곡가 구성을 다음과 같이 변경했습니다."dist"이지만 도움이 되지 않았습니다."dev-master"도 시도했지만 여전히 동일합니다 ...:-(
{
"name": "myprojects/project1",
"config": {
"preferred-install" : "dist"
},
"require": {
"yiisoft/yii": "~1.1.15",
"twbs/bootstrap": "~3.2.0",
"tecnick.com/tcpdf": "~6.0@stable",
"phpoffice/phpexcel": "~1.8.0"
}
}
해결책
클론 방지를 위한 일반적인 조언
전체 디렉토리를 얻으려면 다음 중 하나를 설정해야 합니다. --prefer-source
설치할 때 또는 preferred-install
구성 값이 다음으로 설정되었습니다. source
, 또는 dev-master 패키지를 설치합니다. 이 경우 Composer는 기본적으로 소스 설치(git clone)를 사용합니다.
해결책은 정확한 상황에 따라 다르며 어느 것이 올바른지 말하기에 충분한 세부 정보를 제공하지 않았지만 다음 중 하나로 문제를 해결할 수 있습니다.
- 세트
--prefer-dist
설치할 때 - 사용
composer config preferred-install dist
플래그를 영구적으로 설정하려면 - 요구하여 태그가 지정된 릴리스만 설치해야 합니다.
"tecnick.com/tcpdf": "~6.0@stable"
, 그러면 항상 기본적으로 dist 패키지를 선택해야 합니다.
github 또는 bitbucket에서 호스팅되지 않는 패키지의 특수 사례:
https://packagist.org/packages/tecnick.com/tcpdf 실제로 sourceforge에서 호스팅되는데, 이는 모든 git 개정판에서 자동 zip 빌드를 지원하지 않습니다.그러한 패키지스트는 현재 zip을 제공할 수 없으므로 작곡가는 저장소를 복제해야 합니다.
현재 유일한 해결책은 읽기 전용 미러인 경우 관리자가 패키지를 github로 옮기도록 하는 것입니다.
https://github.com/tcpdf-clone/tcpdf 존재하지만 공식적으로 유지 관리되는지 여부는 알 수 없습니다.그렇다면 또는 최소한 신뢰할 수 있는 경우 tcpdf 패키지의 packagist URL을 해당 github URL로 변경하는 옵션이 될 것입니다.