Pergunta

Estou tentando instalar o TCPDF via compositor.Funciona, mas infelizmente sempre instala também o diretório .git inteiro que tem 93 MB.Eu só quero instalar arquivos TCPDF sem material .git.

Como fazer isso?

Aqui está meu compositor.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"
    }
}

Agradeço antecipadamente.

EDITAR 1:

A seguir está a configuração do compositor no arquivo compositor TCPDF baixado do repositório packagist - não tenho certeza se isso pode ajudar a resolver o problema:

{
    "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"
        ]
    }
}

EDITAR 2:

Alterei a configuração do compositor da seguinte maneira, adicionando a opção de configuração "preferred-install":"dist", mas não ajudou.Eu também tentei "dev-master", continua o mesmo...:-(

{
    "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"
    }
}
Foi útil?

Solução

Conselhos gerais para evitar clones

Se você obtiver o diretório inteiro, deve ser porque você configurou --prefer-source ao instalar, ou você tem um preferred-install valor de configuração definido como source, ou você instala o pacote dev-master; nesse caso, o Composer usa como padrão a instalação de origem (git clone).

A solução depende da situação exata e você não forneceu detalhes suficientes para dizer qual é a correta, mas provavelmente poderá corrigi-la com um destes:

  • definir --prefer-dist ao instalar
  • usar composer config preferred-install dist para definir a bandeira permanentemente
  • certifique-se de instalar apenas versões marcadas, exigindo "tecnick.com/tcpdf": "~6.0@stable", então ele deve sempre escolher o pacote dist por padrão.

Caso especial para pacotes não hospedados no github ou bitbucket:

https://packagist.org/packages/tecnick.com/tcpdf na verdade, está hospedado no sourceforge, que não suporta a construção automática de zip a partir de qualquer revisão do git.Como tal, o empacotador não pode, no momento, fornecer zips e, portanto, o compositor precisa clonar o repositório.

A única solução por enquanto é fazer com que o mantenedor mova o pacote para o github, mesmo que apenas como um espelho somente leitura.

https://github.com/tcpdf-clone/tcpdf existe, mas não sei se é mantido oficialmente ou não.Se sim, ou pelo menos for confiável, seria uma opção alterar o URL do packagist do pacote tcpdf para aquele do github.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top