Pour installer Tcpdf il faut l'ajouter dans composer.json. Or cette bibliothèque n'est pas intégrée dans Packagist. Comment doit-on faire ?
D'après les différents posts trouvés ici et là, il faut ajouter :
"require" : { ... , "tecnick.com/tcpdf": "*" } "repositories" : [ ... , { "type":"package", "package": { "name": "tecnick.com/tcpdf", "version":"master", "source": { "url": "http://git.code.sf.net/p/tcpdf/code", "type": "git", "reference":"master" } } } ], "autoload": { "classmap": [ "vendor/tecnick.com/tcpdf" ] }
Or lors de l'exécution sous windows 7, l'installation échouait en permanence :
D:\monProjet>php composer.phar update Loading composer repositories with package information Updating dependencies (including require-dev) - Installing tecnick.com/tcpdf (6.0.080) Cloning fcd0098a2a8b0fb88e6ea291393dc8c1ecb2f38b [Symfony\Component\Process\Exception\ProcessTimedOutException] The process "git clone --no-checkout "git://git.code.sf.net/p/tcpdf/code" "D:\monProje t\vendor\tecnick.com/tcpdf" && cd /D "D:\monProjet\vendor\tecnick.com/tcpdf" && git remote add composer "git://git.code.sf.net/p/tcpdf/code" && git fetch composer" exceeded the timeout of 300 seconds. update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--withdependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [packages1] ...[packagesN]
Il faut donc augmenter le temps d'exécution pour composer.phar. Pour cela, dans la console d'exécution de windows 7 :
D:\monProjet>set COMPOSER_PROCESS_TIMEOUT=5000 D:\monProjet>php composer.phar update Loading composer repositories with package information Updating dependencies (including require-dev) - Installing tecnick.com/tcpdf (6.0.080) Cloning fcd0098a2a8b0fb88e6ea291393dc8c1ecb2f38b - Updating zf-commons/zfc-user dev-master (70eb1db => b96419e) Checking out b96419e91bdc7ec09b49038c18634f7d0b503597 - Updating zendframework/zend-developer-tools dev-master (26af0e6 => 8907edf) Checking out 8907edf3a03ae0ac761b43e33b3629ac1b6c3cf3 Writing lock file Generating autoload files
Eurêka ! Ça a marché !
Par la suite, en recherchant dans la documentation, on peut indiquer ce délai dans la clé config de composer.json :
"config" : { "process-timeout" : 5000, "use-include-path": false, "github-protocols": ["git", "https", "http"], "vendor-dir": "vendor" },
Voir le détail sur cette page.