Pregunta

Estoy intentando instalar TCPDF a través del compositor.Funciona, pero desafortunadamente, siempre se instala también entero .directorio git que tiene 93 MB.Solo quiero instalar archivos TCPDF sin ellos .git cosas.

¿Cómo hacer eso?

Aquí está mi 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"
    }
}

Muchas gracias de antemano.

EDICIÓN 1:

A continuación se muestra la configuración del compositor en el archivo TCPDF composer descargado del repositorio de packagist; no estoy seguro de si esto podría ayudar a resolver el 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"
        ]
    }
}

EDICIÓN 2:

He cambiado la configuración del compositor de la siguiente manera agregando la opción de configuración "instalación preferida" :"dist", pero no ayudó.También probé "dev-master", sigue siendo el mismo...:-(

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

Solución

Consejos generales para evitar clones

Si obtiene el directorio completo, debe ser porque configuró --prefer-source al instalar, o tiene un preferred-install valor de configuración establecido en source, o instala el paquete dev-master, en cuyo caso Composer usa por defecto la instalación de origen (git clone).

La solución depende de la situación exacta, y no dio suficientes detalles para decir cuál es la correcta, pero lo más probable es que pueda solucionarlo con cualquiera de estos:

  • conjunto --prefer-dist al instalar
  • uso composer config preferred-install dist para establecer la bandera de forma permanente
  • asegúrese de instalar solo versiones etiquetadas al requerir "tecnick.com/tcpdf": "~6.0@stable", entonces siempre debe elegir el paquete dist de forma predeterminada.

Caso especial para paquetes no alojados en github o bitbucket:

https://packagist.org/packages/tecnick.com/tcpdf en realidad, está alojado en sourceforge, que no admite la compilación automática de zip desde ninguna revisión de git.Como tal, packagist por el momento no puede proporcionarle cremalleras, por lo que composer tiene que clonar el repositorio.

La única solución por ahora es lograr que el mantenedor mueva el paquete a github, aunque solo sea como un espejo de solo lectura.

https://github.com/tcpdf-clone/tcpdf existe, pero desconozco si se mantiene oficialmente o no.En caso afirmativo, o si es de confianza al menos, entonces sería una opción cambiar la URL del empaquetador para que el paquete tcpdf sea ese github.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top