Git Product home page Git Product logo

prestissimo's Introduction

prestissimo (composer plugin)

Build Status Scrutinizer Code Quality Coverage Status Latest Stable Version Total Downloads License

This is a composer 1.x plugin that downloads packages in parallel to speed up the installation process.

This plugin is for Composer1; Composer2 is very fast on its own. Uninstall this plugin and update the Composer itself.

Requirements

  • composer >=1.0.0 <2.0
  • PHP >=5.3, (suggest >=5.5, because curl_share_init)
  • ext-curl

Install, Updating & Upgrading

$ composer global require hirak/prestissimo

Uninstall

$ composer global remove hirak/prestissimo

Benchmark Example

288s -> 26s

$ composer create-project laravel/laravel laravel1 --no-progress --profile --prefer-dist

laravel

Config

prestissimo ^0.3.x

Recognize composer's options. You don't need to set any special configuration.

Composer authentication

To avoid Composer asking for authentication it is recommended to follow the procedure on composer's authentication.

For github.com you could also use an auth.json file with an oauth access token placed on the the same level as your composer.json file:

{
    "github-oauth": {
        "github.com": "YOUR_GITHUB_ACCESS_TOKEN"
    }
}

License

MIT License. See the LICENSE file.

prestissimo's People

Contributors

andytson-inviqa avatar br0ken- avatar brunoric avatar cupoftea696 avatar dependabot[bot] avatar dqneo avatar dracoblue avatar driskell avatar ekho avatar geekish avatar geerlingguy avatar hirak avatar hugovk avatar ionbazan avatar j0k3r avatar jdieter avatar jyggen avatar k0pernikus avatar ktomk avatar kubawerlos avatar mpparsley avatar mthoretton avatar ravage84 avatar rvitaliy avatar scrutinizer-auto-fixer avatar sergeyfedotov avatar snapshotpl avatar soullivaneuh avatar tomasvotruba avatar xabbuh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

prestissimo's Issues

Cache not used for some packages

Also prestissimo downloaded the required packages, some packages were not loaded from the cache. Had this problem for example for packages with a requirement to a specific branch like dev-develop.

But happened also for monolog with requirement: "monolog/monolog": "^1.7"

Support for multi-threaded composer update?

Is there any way to have support for multi-threaded composer update ? With a lot of private GitHub packages, this takes a very long time for us to run and it's also a much more common operation than composer install.

Is it possible to hook in during create-project?

I noticed the plugin isn't loaded during composer create-project so the first few repository packages.json files aren't downloaded in parallel. I'm not familiar with Composer codebase at all, is this a current limitation or is it a possible feature addition in Prestissimo?

proc_open(): fork failed - Cannot allocate memory

Using version ^0.1.12 for hirak/prestissimo
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)

  • Installing hirak/prestissimo (0.1.12)
    Downloading: 100%
    The following exception is caused by a lack of memory and not having swap configured
    Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details
    The following exception is caused by a lack of memory and not having swap configured
    Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details
    PHP Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:940
    Stack trace:
    #0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 940, Array)
    #1 phar:///usr/local/bin/composer/vendor/symfony/console/Application.php(940): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
    #2 phar:///usr/local/bin/composer/vendor/symfony/console/Application.php(748): Symfony\Component\Console\Application->getSttyColumns()
    #3 phar:///usr/local/bin/composer/vendor/symfony/console/Application.php(709): Symfony\Component\Console\Application->getTerminalDimensions()
    #4 phar:///usr/local/bin/composer/vendor/symfony/console/Application.php(639): Symfony\Component\Console\Application->getTerminalWidth()
    #5 phar:///usr/local/bin/composer/src/Composer/Console/Application.php(231): Symfony\Component\Console\Application->renderException(Object(ErrorException), Ob in phar:///usr/local/bin/composer/vendor/symfony/console/Application.php on line 940

Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Application.php on line 940

ErrorException: proc_open(): fork failed - Cannot allocate memory in phar:///usr/local/bin/composer/vendor/symfony/console/Application.php on line 940

Call Stack:
0.0004 223440 1. {main}() /usr/local/bin/composer:0
0.0480 408808 2. require('phar:///usr/local/bin/composer/bin/composer') /usr/local/bin/composer:25
0.1498 3767264 3. Composer\Console\Application->run() phar:///usr/local/bin/composer/bin/composer:43
0.1668 4119528 4. Symfony\Component\Console\Application->run() phar:///usr/local/bin/composer/src/Composer/Console/Application.php:98
73.8030 208712688 5. Composer\Console\Application->renderException() phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:127
73.8038 208712864 6. Symfony\Component\Console\Application->renderException() phar:///usr/local/bin/composer/src/Composer/Console/Application.php:231
73.8039 208713216 7. Symfony\Component\Console\Application->getTerminalWidth() phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:639
73.8039 208713216 8. Symfony\Component\Console\Application->getTerminalDimensions() phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:709
73.8039 208713216 9. Symfony\Component\Console\Application->getSttyColumns() phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:748
73.8039 208715176 10. proc_open() phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:940
73.8045 208716312 11. Composer\Util\ErrorHandler::handle() phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:940

Fatal error during composer update with PHP 5.3

During composer update on PHP 5.3 the plugin crashes:

[17.1MB/0.15s] Loading composer repositories with package information

PHP Fatal error:  Using $this when not in object context in /home/travis/.composer/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php on line 96

PHP Stack trace:

PHP   1. {main}() /home/travis/.phpenv/versions/5.3.29/bin/composer:0

PHP   2. require() /home/travis/.phpenv/versions/5.3.29/bin/composer:25

PHP   3. Composer\Console\Application->run() phar:///home/travis/.phpenv/versions/5.3.29/bin/composer/bin/composer:43

PHP   4. Symfony\Component\Console\Application->run() phar:///home/travis/.phpenv/versions/5.3.29/bin/composer/src/Composer/Console/Application.php:98

PHP   5. Composer\Console\Application->doRun() phar:///home/travis/.phpenv/versions/5.3.29/bin/composer/vendor/symfony/console/Application.php:123

PHP   6. Symfony\Component\Console\Application->doRun() phar:///home/travis/.phpenv/versions/5.3.29/bin/composer/src/Composer/Console/Application.php:167

PHP   7. Symfony\Component\Console\Application->doRunCommand() phar:///home/travis/.phpenv/versions/5.3.29/bin/composer/vendor/symfony/console/Application.php:192

PHP   8. Symfony\Component\Console\Command\Command->run() phar:///home/travis/.phpenv/versions/5.3.29/bin/composer/vendor/symfony/console/Application.php:844

PHP   9. Composer\Command\UpdateCommand->execute() phar:///home/travis/.phpenv/versions/5.3.29/bin/composer/vendor/symfony/console/Command/Command.php:259

PHP  10. Composer\Installer->run() phar:///home/travis/.phpenv/versions/5.3.29/bin/composer/src/Composer/Command/UpdateCommand.php:158

PHP  11. Composer\Installer->doInstall() phar:///home/travis/.phpenv/versions/5.3.29/bin/composer/src/Composer/Installer.php:232

PHP  12. Composer\DependencyResolver\Pool->addRepository() phar:///home/travis/.phpenv/versions/5.3.29/bin/composer/src/Composer/Installer.php:413

PHP  13. Composer\Repository\ComposerRepository->hasProviders() phar:///home/travis/.phpenv/versions/5.3.29/bin/composer/src/Composer/DependencyResolver/Pool.php:99

PHP  14. Composer\Repository\ComposerRepository->loadRootServerFile() phar:///home/travis/.phpenv/versions/5.3.29/bin/composer/src/Composer/Repository/ComposerRepository.php:259

PHP  15. Composer\Repository\ComposerRepository->fetchFile() phar:///home/travis/.phpenv/versions/5.3.29/bin/composer/src/Composer/Repository/ComposerRepository.php:456

PHP  16. Hirak\Prestissimo\CurlRemoteFilesystem->getContents() phar:///home/travis/.phpenv/versions/5.3.29/bin/composer/src/Composer/Repository/ComposerRepository.php:651

PHP  17. Hirak\Prestissimo\CurlRemoteFilesystem->fetch() /home/travis/.composer/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php:97

PHP  18. Hirak\Prestissimo\{closure}() /home/travis/.composer/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php:148

More information:
https://travis-ci.org/phpro/grumphp/jobs/105100866

Directory already exists

ฮป composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
    Prefetch start: success: 0, failure: 0, total: 68
    [REDACTED...]
    Finished: success: 0, failure: 68, total: 68
  - Installing symfony/finder (v2.7.8)
    Downloading: Connecting...    Downloading: Connecting...    Downloading: Connecting...    Failed to download symfony/finder from dist: SSL certificate problem: unable to get local issuer certificate:60
    Now trying to download from source
  - Installing symfony/finder (v2.7.8)
    Cloning 937edcbac3f2dd3187c56cf90368867d55dee991


  [RuntimeException]
  Failed to clone [email protected]:symfony/finder.git via git, https, ssh protocols, aborting.
  - git://github.com/symfony/finder.git
    fatal: destination path 'C:\Users\1494770.CLIM\Documents\PhpStorm\MaisonDuPain\vendor\symfony\finder' already e
  xists and is not an empty directory.
  - https://github.com/symfony/finder.git
    fatal: destination path 'C:\Users\1494770.CLIM\Documents\PhpStorm\MaisonDuPain\vendor\symfony\finder' already e
  xists and is not an empty directory.
  - [email protected]:symfony/finder.git
    fatal: destination path 'C:\Users\1494770.CLIM\Documents\PhpStorm\MaisonDuPain\vendor\symfony\finder' already e
  xists and is not an empty directory.


install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--] [<packages>]...

Feature request: wildcard in private packages

Would it be possible to add a feature that in the list of private packages, wildcards can be used? If you have to list a lot of them and often you add new ones, it makes more sense from an organisational perspective to be able to wildcard things :)

Using within docker container hangs

When composer install --prefer-dist --no-interaction within a docker container. This pluggin causes composer to hang at various, random, points.

I have tried it under a number of configurations and all hang, occasionally working.

Although a normal docker install without the plugin works fine.

Self Signed Certificate

I'm using a local instance of toranproxy with a self signed certificate. I get the following error when running composer update.

SSL certificate problem: self signed certificate:60

My .composer/config.json looks like this:

{
    "config": {
    },
    "repositories": [
        {
            "type": "composer",
            "url": "https://toran.local/repo/private/",
            "options": {
                "ssl": {
                    "allow_self_signed": true
                }
            }
        }
    ]
}

I've allowed self signed certificates here, and it works fine without the plugin. I'm assuming this option needs to be forwarded to the cURL handler that does the prefetching.

github.com vs codeload.github.com downloads

I see you convert the Github API to a codeload url. Is that to prevent API rate limits or just an unneeded redirect? Wouldn't it be more reliable to use the github.com direct download link instead? Like in composer/composer#4737 ?

if (isset($urls[0]) && preg_match('#^https://api\.github\.com/repos/([^/]++/[^/]++)/zipball/(.++)$#', $urls[0], $match) && !$this->io->hasAuthentication('github.com')) {
            array_unshift($urls, 'https://github.com/'.$match[1].'/archive/'.$match[2].'.zip');
            $processUrl = false;
        }

Package name mismatch has no fallback

When a package name doesn't match (a tarball), by default composer will attempt to fetch the tag from source. Instead, this plugin fails without the verbosity or behaviour.

Default composer:

  - Installing drupal/diff (8.1.0-alpha2)
    Downloading: Failed       
    Failed to download drupal/diff from dist: The "https://ftp.drupal.org/files/projects/diff-8.x-1.x-alpha2.zip" file could not be downloaded (HTTP/1.1 404 Not Found)
    Now trying to download from source
  - Installing drupal/diff (8.1.0-alpha2)
    Cloning 2216ce763fecb03d441231e1b2b3fdddeb761b53

Using hirak/prestissimo

  - Installing drupal/diff (8.1.0-alpha2)
    Downloading: 100%         
app/modules/contrib/diff/b5bf1eceb67c965ddb01e0fce9f1aefe.zip does not exist, can not write into cache


  [ErrorException]                                                                                                       
  copy(app/modules/contrib/diff/b5bf1eceb67c965ddb01e0fce9f1aefe.zip): failed to open stream: No such file or directory 

This is certainly not a high priority, but would be nice if it at least gave the 404 message, rather than "can not write into cache"

Support dist mirrors

We are using toran-proxy and composer.lock contains dist mirrors section such as

{
    "packages": [
        {
            "name": "psr/log",
            "version": "1.0.0",
            "source": {
                "type": "git",
                "url": "https://github.com/php-fig/log.git",
                "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
                "mirrors": [
                    {
                        "url": "git://<our-toran-host>/%package%/%normalizedUrl%.%type%",
                        "preferred": true
                    }
                ]
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
                "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
                "shasum": "",
                "mirrors": [
                    {
                        "url": "https://<our-toran-host>/repo/packagist/dists/%package%/%version%/%reference%.%type%",
                        "preferred": true
                    }
                ]
            },
            "type": "library",
            "autoload": {
                "psr-0": {
                    "Psr\\Log\\": ""
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "PHP-FIG",
                    "homepage": "http://www.php-fig.org/"
                }
            ],
            "description": "Common interface for logging libraries",
            "keywords": [
                "log",
                "psr",
                "psr-3"
            ],
            "time": "2012-12-21 11:40:51"
        }
    ],
}

but prestissimo downloads packages from github instead of preferred mirror

STDOUT usage

I'm using Composer in somehow interesting way.
Long story short: it works under mod_php/php-fpm, not in CLI mode.
But with this plugin it causes an issue:

  [ErrorException]                                     
  Use of undefined constant STDOUT - assumed 'STDOUT'  


Exception trace:
 () at /web/cscms.org/www/storage/Composer/tmp/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php:77
 Composer\Util\ErrorHandler::handle() at /web/cscms.org/www/storage/Composer/tmp/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php:77
 Hirak\Prestissimo\CurlRemoteFilesystem->Hirak\Prestissimo\{closure}() at /web/cscms.org/www/storage/Composer/tmp/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php:146
 Hirak\Prestissimo\CurlRemoteFilesystem->fetch() at /web/cscms.org/www/storage/Composer/tmp/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php:84
 Hirak\Prestissimo\CurlRemoteFilesystem->copy() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/src/Composer/Downloader/FileDownloader.php:139
 Composer\Downloader\FileDownloader->doDownload() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/src/Composer/Downloader/FileDownloader.php:91
 Composer\Downloader\FileDownloader->download() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/src/Composer/Downloader/ArchiveDownloader.php:36
 Composer\Downloader\ArchiveDownloader->download() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/src/Composer/Downloader/ZipDownloader.php:65
 Composer\Downloader\ZipDownloader->download() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/src/Composer/Downloader/DownloadManager.php:213
 Composer\Downloader\DownloadManager->download() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/src/Composer/Installer/LibraryInstaller.php:176
 Composer\Installer\LibraryInstaller->installCode() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/src/Composer/Installer/LibraryInstaller.php:90
 Composer\Installer\LibraryInstaller->install() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/src/Composer/Installer/PluginInstaller.php:61
 Composer\Installer\PluginInstaller->install() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/src/Composer/Installer/InstallationManager.php:152
 Composer\Installer\InstallationManager->install() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/src/Composer/Installer/InstallationManager.php:139
 Composer\Installer\InstallationManager->execute() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/src/Composer/Installer.php:568
 Composer\Installer->doInstall() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/src/Composer/Installer.php:228
 Composer\Installer->run() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/src/Composer/Command/UpdateCommand.php:173
 Composer\Command\UpdateCommand->execute() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/vendor/symfony/console/Command/Command.php:259
 Symfony\Component\Console\Command\Command->run() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/vendor/symfony/console/Application.php:844
 Symfony\Component\Console\Application->doRunCommand() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/vendor/symfony/console/Application.php:192
 Symfony\Component\Console\Application->doRun() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/src/Composer/Console/Application.php:181
 Composer\Console\Application->doRun() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/vendor/symfony/console/Application.php:123
 Symfony\Component\Console\Application->run() at phar:///web/cscms.org/www/components/modules/Composer/composer.phar/src/Composer/Console/Application.php:99
 Composer\Console\Application->run() at /web/cscms.org/www/components/modules/Composer/Composer.php:127

Can you get rid of using STDOUT directly or use something else if it is not available? Composer itself provides an abstraction on top of that using Symfony's components, maybe you can use it?

Crashes with `undefined index: 0` inside docker container

I have included prestissimo inside a project. We are using docker container and prestiismio is globally installed during the build.

It worked well on most cases, yet one developer's machine has the issue:

[ErrorException]    
  Undefined index: 0 
Exception trace:
 () at /root/.composer/vendor/hirak/prestissimo/src/ParallelDownloader.php:93
 Composer\Util\ErrorHandler::handle() at /root/.composer/vendor/hirak/prestissimo/src/ParallelDownloader.php:93
 Hirak\Prestissimo\ParallelDownloader->download() at /root/.composer/vendor/hirak/prestissimo/src/Plugin.php:75
 Hirak\Prestissimo\Plugin->onPostDependenciesSolving() at n/a:n/a
 call_user_func() at phar://composer.phar/bin/../src/../src/Composer/EventDispatcher/EventDispatcher.php:156
 Composer\EventDispatcher\EventDispatcher->doDispatch() at phar://composer.phar/bin/../src/../src/Composer/EventDispatcher/EventDispatcher.php:133
 Composer\EventDispatcher\EventDispatcher->dispatchInstallerEvent() at phar://composer.phar/bin/
../src/../src/Composer/Installer.php:524
 Composer\Installer->doInstall() at phar://composer.phar/bin/../src/../src/Composer/Installer.php:232
 Composer\Installer->run() at phar://composer.phar/bin/../src/../src/Composer/Command/InstallCommand.php:134
 Composer\Command\InstallCommand->execute() at phar://composer.phar/bin/../src/../vendor/symfony/console/Command/Command.php:259
 Symfony\Component\Console\Command\Command->run() at phar://composer.phar/bin/../src/../vendor/symfony/console/Application.php:844
 Symfony\Component\Console\Application->doRunCommand() at phar://composer.phar/bin/../src/../vendor/symfony/console/Application.php:192
 Symfony\Component\Console\Application->doRun() at phar://composer.phar/bin/../src/../src/Composer/Console/Application.php:166
 Composer\Console\Application->doRun() at phar://composer.phar/bin/../src/../vendor/symfony/console/Application.php:123
 Symfony\Component\Console\Application->run() at phar://composer.phar/bin/../src/../src/Composer/Console/Application.php:99
 Composer\Console\Application->run() at phar://composer.phar/bin/composer:43
 include() at /usr/local/bin/composer:25

What could be the issue here?

Could not find: nss_ciphers.txt

Our CI stopped working because of Missing ciphers.

Reading ./composer.json
Loading config file ./composer.json
Checking CA file /etc/pki/tls/certs/ca-bundle.crt
Executing command (/var/snap-ci/repo): git branch --no-color --no-abbrev -v
Reading /var/go/.composer/composer.json
Loading config file /var/go/.composer/composer.json
Reading /var/go/.composer/vendor/composer/installed.json
Loading plugin Hirak\Prestissimo\Plugin
Reading ./composer.lock
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Reading ./composer.lock
Resolving dependencies through SAT
Dependency resolution completed in 0.002 seconds
    Prefetch start: total: 94


  [RuntimeException]                                                                                                                                      
  SplFileObject::__construct(/var/go/.composer/vendor/hirak/prestissimo/src/../../res/nss_ciphers.txt): failed to open stream: No such file or directory  


Exception trace:
 () at /var/go/.composer/vendor/hirak/prestissimo/src/HttpGetRequest.php:200
 SplFileObject->__construct() at /var/go/.composer/vendor/hirak/prestissimo/src/HttpGetRequest.php:200
 Hirak\Prestissimo\HttpGetRequest->nssCiphers() at /var/go/.composer/vendor/hirak/prestissimo/src/HttpGetRequest.php:181
 Hirak\Prestissimo\HttpGetRequest->getCurlOpts() at /var/go/.composer/vendor/hirak/prestissimo/src/CurlMulti.php:85
 Hirak\Prestissimo\CurlMulti->setupEventLoop() at /var/go/.composer/vendor/hirak/prestissimo/src/ParallelDownloader.php:53
 Hirak\Prestissimo\ParallelDownloader->download() at /var/go/.composer/vendor/hirak/prestissimo/src/Plugin.php:87
 Hirak\Prestissimo\Plugin->onPostDependenciesSolving() at n/a:n/a
 call_user_func() at phar:///opt/local/php/5.6.0RC2/bin/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:171
 Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///opt/local/php/5.6.0RC2/bin/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:133
 Composer\EventDispatcher\EventDispatcher->dispatchInstallerEvent() at phar:///opt/local/php/5.6.0RC2/bin/composer.phar/src/Composer/Installer.php:499
 Composer\Installer->doInstall() at phar:///opt/local/php/5.6.0RC2/bin/composer.phar/src/Composer/Installer.php:228
 Composer\Installer->run() at phar:///opt/local/php/5.6.0RC2/bin/composer.phar/src/Composer/Command/InstallCommand.php:134
 Composer\Command\InstallCommand->execute() at phar:///opt/local/php/5.6.0RC2/bin/composer.phar/vendor/symfony/console/Command/Command.php:259
 Symfony\Component\Console\Command\Command->run() at phar:///opt/local/php/5.6.0RC2/bin/composer.phar/vendor/symfony/console/Application.php:844
 Symfony\Component\Console\Application->doRunCommand() at phar:///opt/local/php/5.6.0RC2/bin/composer.phar/vendor/symfony/console/Application.php:192
 Symfony\Component\Console\Application->doRun() at phar:///opt/local/php/5.6.0RC2/bin/composer.phar/src/Composer/Console/Application.php:181
 Composer\Console\Application->doRun() at phar:///opt/local/php/5.6.0RC2/bin/composer.phar/vendor/symfony/console/Application.php:123
 Symfony\Component\Console\Application->run() at phar:///opt/local/php/5.6.0RC2/bin/composer.phar/src/Composer/Console/Application.php:99
 Composer\Console\Application->run() at phar:///opt/local/php/5.6.0RC2/bin/composer.phar/bin/composer:43
 require() at /opt/local/php/5.6.0RC2/bin/composer.phar:25

Custom headers

We have a private composer repository which is behind a basic auth and we are using custom http headers to send this to the server but these options are not used here. Anny idea on how to implement this?

{
...
    "repositories": [
        {
            "type": "composer",
            "url": "http://some-url/repo/private/",
            "options": {
                "http": {
                    "header": [
                        "Authorization: Basic ourbasicheader="
                    ]
                }
            }
        }
    ]
...
}

Usage with non-root user

I want to use this with non-root user. But it didn't work.
I have to be root to use this. How can I work with this package with non-root user?

I'm running composer install with sudo like that sudo -u myuser composer install

Class 'GitHubRequest' not found when installing on Windows

While trying to install prestissimo on Windows 7, I've got this error:

composer global require hirak/prestissimo
Changed current directory to C:/Users/HERVE/AppData/Roaming/Composer
Using version ^0.1.18 for hirak/prestissimo
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)

  • Removing hirak/prestissimo (0.1.10)
  • Installing hirak/prestissimo (0.1.18)

Fatal error: Class 'Hirak\Prestissimo\Aspects\GitHubRequest' not found in C:\Users\Veve2\AppData\Roaming\Composer\vendor\hirak\prestissimo\src\Factory.php on li ne 79

Plugin is not working when calling user has altered UID/GID

A little intro first

I'm building a Docker image for a PHP web app that is using Composer.
In order to make host folder mounting work properly, I'm using a well know hack - during the container initialization, I'm checking UID/GID of the mounted folder and if it does not match UID/GID of my webserver user, I'm chaning UID/GID of the webserver user to be the same as in hosted folder. This trick allows to create/modify files in both host system and inside the container without any permission issues.

The problem

Now the problem. Prestissimo is failing to do composer update with this trick. If I run composer install - everything works. If I run Composer without Prestissimo - everything works as well.

System info

OS: Ubuntu 16.04 (also tested on Alpine Linux 3.3)
PHP version: 7.0.4
Composer version: 1.1.1
Pretissimo version: dev-master
Additional plugins: fxp/[email protected]

Logs:

$ whoami
webserver

$ stat ~/.composer
  File: '.composer/'
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 49h/73d Inode: 685         Links: 7
Access: (0755/drwxr-xr-x)  Uid: ( 1000/webserver)   Gid: ( 1000/webserver)
Access: 2016-05-18 20:51:08.586731117 +0000
Modify: 2016-05-18 20:41:40.073687013 +0000
Change: 2016-05-18 20:41:40.503246028 +0000

$ composer --verbose update
Loading composer repositories with package information
Warning: Accessing composer.mirrors.mysite.com over http which is an insecure protocol.
Updating dependencies (including require-dev)
Adding VCS repository bower-asset/jquery
Adding VCS repository bower-asset/yii2-pjax
Reading bower.json of bower-asset/jquery (2.2.3)
Importing tag 2.2.3 (2.2.3.0)
Adding VCS repository bower-asset/punycode
Adding VCS repository bower-asset/jquery.inputmask
Reading bower.json of bower-asset/jquery.inputmask (3.2.7)
Importing tag 3.2.7 (3.2.7.0)
Reading bower.json of bower-asset/punycode (v1.3.2)
Importing tag v1.3.2 (1.3.2.0)
Reading bower.json of bower-asset/yii2-pjax (v2.0.6)
Importing tag v2.0.6 (2.0.6.0)
Adding VCS repository bower-asset/bootstrap
Reading bower.json of bower-asset/bootstrap (v3.3.6)
Importing tag v3.3.6 (3.3.6.0)
Reading bower.json of bower-asset/bootstrap (v3.3.5)
Importing tag v3.3.5 (3.3.5.0)
Adding VCS repository bower-asset/sifter
Adding VCS repository bower-asset/microplugin
Adding VCS repository bower-asset/selectize  
Reading bower.json of bower-asset/microplugin (v0.0.3)
Importing tag v0.0.3 (0.0.3.0)
Reading bower.json of bower-asset/sifter (v0.4.5)
Importing tag v0.4.5 (0.4.5.0)
Reading bower.json of bower-asset/selectize (v0.12.1)
Importing tag v0.12.1 (0.12.1.0)
Adding VCS repository bower-asset/bootstrap-sass
Adding VCS repository bower-asset/html5shiv     
Adding VCS repository bower-asset/respond  
Adding VCS repository bower-asset/slimscroll
Adding VCS repository bower-asset/swagger-ui
Adding VCS repository bower-asset/toastr    
Reading bower.json of bower-asset/toastr (2.1.1)
Importing tag 2.1.1 (2.1.1.0)
Adding VCS repository bower-asset/sweetalert
Reading bower.json of bower-asset/sweetalert (v1.1.3)
Importing tag v1.1.3 (1.1.3.0)
Adding VCS repository bower-asset/fontawesome
Reading bower.json of bower-asset/fontawesome (v4.6.3)
Importing tag v4.6.3 (4.6.3.0)
Adding VCS repository bower-asset/ionicons
Reading bower.json of bower-asset/ionicons (v2.0.1)
Importing tag v2.0.1 (2.0.1.0)
Adding VCS repository bower-asset/typeahead.js
Reading bower.json of bower-asset/typeahead.js (v0.11.1)
Importing tag v0.11.1 (0.11.1.0)
Reading bower.json of bower-asset/respond (1.4.2)
Importing tag 1.4.2 (1.4.2.0)
Reading bower.json of bower-asset/html5shiv (3.7.3)
Importing tag 3.7.3 (3.7.3.0)
Reading bower.json of bower-asset/swagger-ui (v2.1.4)
Importing tag v2.1.4 (2.1.4.0)
Reading bower.json of bower-asset/slimscroll (v1.3.7)
Importing tag v1.3.7 (1.3.7.0)
Reading bower.json of bower-asset/bootstrap-sass (v3.3.6)
Importing tag v3.3.6 (3.3.6.0)
Dependency resolution completed in 0.135 seconds
    Prefetch start: total: 1


  [ErrorException]                                                                           
  fopen(/home/webserver/.composer/cache/files/myclabs/php-enum/916a6f02db559bbf2d7c79db6  
  2b8a76dc29555dc.zip): failed to open stream: Permission denied                             


Exception trace:
 () at /home/webserver/.composer/vendor/hirak/prestissimo/src/OutputFile.php:38
 Composer\Util\ErrorHandler::handle() at n/a:n/a
 fopen() at /home/webserver/.composer/vendor/hirak/prestissimo/src/OutputFile.php:38
 Hirak\Prestissimo\OutputFile->__construct() at /home/webserver/.composer/vendor/hirak/prestissimo/src/ParallelDownloader.php:97
 Hirak\Prestissimo\ParallelDownloader->filterPackages() at /home/webserver/.composer/vendor/hirak/prestissimo/src/ParallelDownloader.php:50
 Hirak\Prestissimo\ParallelDownloader->download() at /home/webserver/.composer/vendor/hirak/prestissimo/src/Plugin.php:89
 Hirak\Prestissimo\Plugin->onPostDependenciesSolving() at n/a:n/a
 call_user_func() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:170
 Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:134
 Composer\EventDispatcher\EventDispatcher->dispatchInstallerEvent() at phar:///usr/local/bin/composer/src/Composer/Installer.php:456
 Composer\Installer->doInstall() at phar:///usr/local/bin/composer/src/Composer/Installer.php:215
 Composer\Installer->run() at phar:///usr/local/bin/composer/src/Composer/Command/UpdateCommand.php:172
 Composer\Command\UpdateCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php:259
 Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:844
 Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:192
 Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:221
 Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:123
 Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:101
 Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:43
 require() at /usr/local/bin/composer:24

update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [-i|--interactive] [--root-reqs] [--] [<packages>]...

P.S. I would like to add that file it tries to open does not exist. Directory permissions are correct.

curl_setopt(): cannot represent a stream of type MEMORY as a STDIO FILE*

Dependency resolution completed in 1.602 seconds
    Prefetch start: total: 49


  [ErrorException]                                                          
  curl_setopt(): cannot represent a stream of type MEMORY as a STDIO FILE*  


Exception trace:
 () at /.composer/vendor/hirak/prestissimo/src/CurlMulti.php:127
 Composer\Util\ErrorHandler::handle() at n/a:n/a
 curl_setopt() at /.composer/vendor/hirak/prestissimo/src/CurlMulti.php:127
 Hirak\Prestissimo\CurlMulti->getFinishedResults() at /.composer/vendor/hirak/prestissimo/src/ParallelDownloader.php:56
 Hirak\Prestissimo\ParallelDownloader->download() at /.composer/vendor/hirak/prestissimo/src/Plugin.php:89
 Hirak\Prestissimo\Plugin->onPostDependenciesSolving() at n/a:n/a
 call_user_func() at /.composer/vendor/composer/composer/src/Composer/EventDispatcher/EventDispatcher.php:170
 Composer\EventDispatcher\EventDispatcher->doDispatch() at /.composer/vendor/composer/composer/src/Composer/EventDispatcher/EventDispatcher.php:134
 Composer\EventDispatcher\EventDispatcher->dispatchInstallerEvent() at /.composer/vendor/composer/composer/src/Composer/Installer.php:456
 Composer\Installer->doInstall() at /.composer/vendor/composer/composer/src/Composer/Installer.php:215
 Composer\Installer->run() at /.composer/vendor/composer/composer/src/Composer/Command/UpdateCommand.php:172
 Composer\Command\UpdateCommand->execute() at /.composer/vendor/symfony/console/Command/Command.php:259
 Symfony\Component\Console\Command\Command->run() at /.composer/vendor/symfony/console/Application.php:844
 Symfony\Component\Console\Application->doRunCommand() at /.composer/vendor/symfony/console/Application.php:192
 Symfony\Component\Console\Application->doRun() at /.composer/vendor/composer/composer/src/Composer/Console/Application.php:221
 Composer\Console\Application->doRun() at /.composer/vendor/symfony/console/Application.php:123
 Symfony\Component\Console\Application->run() at /.composer/vendor/composer/composer/src/Composer/Console/Application.php:101
 Composer\Console\Application->run() at /.composer/vendor/composer/composer/bin/composer:44

curl_setopt(): cannot represent a stream of type MEMORY as a STDIO FILE*

Im getting an error when trying to install this specific package. Trace below:

$ composer global require "drecken/igni" --verbose
Changed current directory to C:/Users/Drekhan/AppData/Roaming/Composer
Using version ^0.1.1 for drecken/igni
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Dependency resolution completed in 0.017 seconds
    Prefetch start: total: 1

Installation failed, reverting ./composer.json to its original content.


  [ErrorException]
  curl_setopt(): cannot represent a stream of type MEMORY as a STDIO FILE*


Exception trace:
 () at C:\Users\Drekhan\AppData\Roaming\Composer\vendor\hirak\prestissimo\src\CurlMulti.php:127
 Composer\Util\ErrorHandler::handle() at n/a:n/a
 curl_setopt() at C:\Users\Drekhan\AppData\Roaming\Composer\vendor\hirak\prestissimo\src\CurlMulti.php:127
 Hirak\Prestissimo\CurlMulti->getFinishedResults() at C:\Users\Drekhan\AppData\Roaming\Composer\vendor\hirak\prestissimo\src\ParallelDownloader.php:56
 Hirak\Prestissimo\ParallelDownloader->download() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Plugin/PluginManager.php(193) : eval()'d code:89
 Hirak\Prestissimo\Plugin_composer_tmp0->onPostDependenciesSolving() at n/a:n/a
 call_user_func() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:170
 Composer\EventDispatcher\EventDispatcher->doDispatch() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:134
 Composer\EventDispatcher\EventDispatcher->dispatchInstallerEvent() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Installer.php:456
 Composer\Installer->doInstall() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Installer.php:215
 Composer\Installer->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Command/RequireCommand.php:169
 Composer\Command\RequireCommand->execute() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Command/Command.php:259
 Symfony\Component\Console\Command\Command->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Application.php:844
 Symfony\Component\Console\Application->doRunCommand() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Application.php:192
 Symfony\Component\Console\Application->doRun() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Console/Application.php:222
 Composer\Console\Application->doRun() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Application.php:123
 Symfony\Component\Console\Application->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Console/Application.php:102
 Composer\Console\Application->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Command/GlobalCommand.php:81
 Composer\Command\GlobalCommand->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Application.php:844
 Symfony\Component\Console\Application->doRunCommand() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Application.php:192
 Symfony\Component\Console\Application->doRun() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Console/Application.php:222
 Composer\Console\Application->doRun() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Application.php:123
 Symfony\Component\Console\Application->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Console/Application.php:102
 Composer\Console\Application->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/bin/composer:43
 require() at C:\ProgramData\ComposerSetup\bin\composer.phar:25

require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-update] [--update-no-dev] [--update-with-dependencies] [--ignore-platform-reqs] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--] [<packages>]...

Missing argument 5 for Hirak\Prestissimo\CurlRemoteFilesystem::progress()

Awesome plugin!

However, when running composer install in the php:5.4-fpm docker image, I get an error.
Adding --no-progress fixes it, but I'd like to know why it fails.
Maybe a problem with the curl version?

root@283ebbac6607:/usr/src/app# dpkg -l curl
curl                 7.38.0-4+deb8u2 amd64

Tested with composer 1.0.0-alpha11.

Output:

composer install --ignore-platform-reqs --prefer-dist
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
  - Installing hirak/prestissimo (0.1.4)
    Downloading: 100%         

  - Installing twig/twig (v1.23.3)
    Downloading: Connecting...


  [ErrorException]                                                           
  Missing argument 5 for Hirak\Prestissimo\CurlRemoteFilesystem::progress()  


Exception trace:
 () at /usr/src/app/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php:208
 Composer\Util\ErrorHandler::handle() at /usr/src/app/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php:208
 Hirak\Prestissimo\CurlRemoteFilesystem->progress() at n/a:n/a
 curl_exec() at /usr/src/app/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php:184
 Hirak\Prestissimo\CurlRemoteFilesystem->exec() at /usr/src/app/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php:66
 Hirak\Prestissimo\CurlRemoteFilesystem->Hirak\Prestissimo\{closure}() at /usr/src/app/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php:148
 Hirak\Prestissimo\CurlRemoteFilesystem->fetch() at /usr/src/app/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php:76
 Hirak\Prestissimo\CurlRemoteFilesystem->copy() at phar:///usr/local/bin/composer/src/Composer/Downloader/FileDownloader.php:136
 Composer\Downloader\FileDownloader->doDownload() at phar:///usr/local/bin/composer/src/Composer/Downloader/FileDownloader.php:88
 Composer\Downloader\FileDownloader->download() at phar:///usr/local/bin/composer/src/Composer/Downloader/ArchiveDownloader.php:35
 Composer\Downloader\ArchiveDownloader->download() at phar:///usr/local/bin/composer/src/Composer/Downloader/DownloadManager.php:199
 Composer\Downloader\DownloadManager->download() at phar:///usr/local/bin/composer/src/Composer/Installer/LibraryInstaller.php:159
 Composer\Installer\LibraryInstaller->installCode() at phar:///usr/local/bin/composer/src/Composer/Installer/LibraryInstaller.php:90
 Composer\Installer\LibraryInstaller->install() at phar:///usr/local/bin/composer/src/Composer/Installer/InstallationManager.php:152
 Composer\Installer\InstallationManager->install() at phar:///usr/local/bin/composer/src/Composer/Installer/InstallationManager.php:139
 Composer\Installer\InstallationManager->execute() at phar:///usr/local/bin/composer/src/Composer/Installer.php:603
 Composer\Installer->doInstall() at phar:///usr/local/bin/composer/src/Composer/Installer.php:232
 Composer\Installer->run() at phar:///usr/local/bin/composer/src/Composer/Command/InstallCommand.php:134
 Composer\Command\InstallCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php:256
 Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:838
 Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:189
 Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:147
 Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:120
 Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:82
 Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:43
 require() at /usr/local/bin/composer:24

incompatible to composer 1.1.0

First of all: thanks for this plugin, a real time saver!

After upgrading to composer 1.1.0 I got the following error

The "hirak/prestissimo" plugin was skipped because it requires a Plugin API version ("~1.0.0-alpha10") that does not match your Composer installation ("1.1.0").

This is probably just due to a wrong version constraint, ^1.0.0 might just work without any additional changes?

If I can help solving this, give me hint.

Composer can't reach CAfile anymore

When using self-signed certificates and prestissimo, composer (or curl to be exact) is no longer able to reach the specifiied CAfile:
error setting certificate verify locations: CAfile: /home/cleo/.gitcerts/ CApath: none:77 https://packagist.org could not be fully loaded, package information was loaded from the local cache and may be out of date

Failed to open stream: No such file or directory

Reproducible with:

{
    "name": "test",
    "license": "proprietary",
    "require": {
        "symfony/symfony": "dev-master#fce02990f29489bb4a427a3c2c4332f10e10700f"
    }
}

Output:

$ composer install
    1/2:    http://packagist.org/p/provider-latest$f37adb4b04b406e88d6abea04f0ad8e8c918f91248cd8e0cf4d65926d28bb015.json
    2/2:    http://packagist.org/p/provider-2016-04$4b85b740f09acbb7c03b478d9fcdce33bf3ecfe2bff28181cb1d2f80ddaf7f22.json
    Finished: success: 2, skipped: 0, failure: 0, total: 2
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing symfony/polyfill-util (v1.2.0)
    Loading from cache

  - Installing paragonie/random_compat (v2.0.2)
    Loading from cache

  - Installing symfony/polyfill-php70 (v1.2.0)
    Loading from cache

  - Installing symfony/polyfill-php56 (v1.2.0)
    Loading from cache

  - Installing symfony/polyfill-mbstring (v1.2.0)
    Loading from cache

  - Installing symfony/symfony (dev-master fce0299)
    Cloning fce02990f29489bb4a427a3c2c4332f10e10700f
    Failed to download symfony/symfony from source: The process "git clone --no-checkout 'https://github.com/symfony/symfony.git' '/var/www/vendor/symfony/symfony' && cd '/var/www/vendor/symfony/symfony' && git remote add composer 'https://github.com/symfony/symfony.git' && git fetch composer" exceeded the timeout of 300 seconds.
    Now trying to download from dist
  - Installing symfony/symfony (dev-master fce0299)
    Downloading: 100%         
    Downloading: 100%         
    Downloading: 100%         


  [Composer\Downloader\TransportException]                                                                                                                    
  The "https://api.github.com/repos/symfony/symfony/zipball/fce02990f29489bb4a427a3c2c4332f10e10700f" file could not be written to /var/www/vendor/symfony/s  
  ymfony/1559f7840c6e624e6d6522ca48d77a6a: failed to open stream: No such file or directory 

On:

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.4 LTS
Release:    14.04
Codename:   trusty

[RuntimeException] curl_multi_select failure

 Prefetch start: total: 17


  [RuntimeException]
  curl_multi_select failure


Exception trace:
 () at /Users/arthurkirkosa/.composer/vendor/hirak/prestissimo/src/CurlMulti.php:112
 Hirak\Prestissimo\CurlMulti->wait() at /Users/arthurkirkosa/.composer/vendor/hirak/prestissimo/src/ParallelDownloader.php:54
 Hirak\Prestissimo\ParallelDownloader->download() at /Users/arthurkirkosa/.composer/vendor/hirak/prestissimo/src/Plugin.php:115
 Hirak\Prestissimo\Plugin->onPostDependenciesSolving() at n/a:n/a
 call_user_func() at phar:///Users/arthurkirkosa/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:166
 Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///Users/arthurkirkosa/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:133
 Composer\EventDispatcher\EventDispatcher->dispatchInstallerEvent() at phar:///Users/arthurkirkosa/bin/composer/src/Composer/Installer.php:516
 Composer\Installer->doInstall() at phar:///Users/arthurkirkosa/bin/composer/src/Composer/Installer.php:219
 Composer\Installer->run() at phar:///Users/arthurkirkosa/bin/composer/src/Composer/Command/UpdateCommand.php:173
 Composer\Command\UpdateCommand->execute() at phar:///Users/arthurkirkosa/bin/composer/vendor/symfony/console/Command/Command.php:259
 Symfony\Component\Console\Command\Command->run() at phar:///Users/arthurkirkosa/bin/composer/vendor/symfony/console/Application.php:844
 Symfony\Component\Console\Application->doRunCommand() at phar:///Users/arthurkirkosa/bin/composer/vendor/symfony/console/Application.php:192
 Symfony\Component\Console\Application->doRun() at phar:///Users/arthurkirkosa/bin/composer/src/Composer/Console/Application.php:166
 Composer\Console\Application->doRun() at phar:///Users/arthurkirkosa/bin/composer/vendor/symfony/console/Application.php:123
 Symfony\Component\Console\Application->run() at phar:///Users/arthurkirkosa/bin/composer/src/Composer/Console/Application.php:99
 Composer\Console\Application->run() at phar:///Users/arthurkirkosa/bin/composer/bin/composer:43
 require() at /Users/arthurkirkosa/bin/composer:25

The version I'm using is hirak/prestissimo 0.1.14 and the error appeared today, after doing a composer global update

I'm on a mac

Errors with prestissimo

Some errors with prestissimo, after remove it everything works fine.
Screenshot: http://puu.sh/mUroj/616f04d713.png

Loading composer repositories with package information
Installing dependencies (including require-dev)

[Seld\JsonLint\ParsingException]
"https://bower.herokuapp.com/packages/metismenu" does not contain valid JSON
Parse error on line 1:
Package not found
^
Expected one of: 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['

install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--] []...

vagrant@scotchbox:/var/www/sirena$ sudo composer global remove hirak/prestissimo

Path repositories cannot be cached

I have a local setup with some path repositories, which is a very useful Composer feature.

However, Prestissimo seems to have some problems with them. When running composer install for the first time, I saw the typical prefetch output from Prestissimo, but with lines like the following for my path repositories:

http://example.com../packages/core/

It still worked fine, though.

But when changing the path of my repository, I then got the following error when installing:

Source path "../packages/core/" is not found for package flarum/core

Any idea?

Great package, by the way. :)

Composer has trouble clearing the cache on Travis CI

Please take a look at this issue travis-ci/travis-ci#5590 for the whole output.

When I'm using the plugin and Travis CI tries to run the tests I'm getting

  [ErrorException]                                                            
  rmdir(/home/travis/.composer/cache/files/henrikbjorn): Directory not empty  

this error message. This doesn't happen locally for me. The plugin might have some kind of issue similar to composer/composer#690 this but honestly, I don't know what the exact cause is.

Using version ^0.1.9 for hirak/prestissimo
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing hirak/prestissimo (0.1.9)
    Downloading: Connecting...    Failed to download hirak/prestissimo from dist: Could not authenticate against github.com
    Now trying to download from source
  - Installing hirak/prestissimo (0.1.9)
    Cloning cf526eee464e93dcb13c8d3521bad2ea0111bbfd
Writing lock file
Generating autoload files
1.02s$ composer install --prefer-source --no-interaction
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
    Prefetch start: total: 67
    1/67:    https://codeload.github.com/dnoegel/php-xdg-base-dir/legacy.zip/265b8593498b997dc2d31e75b89f053b5cc9621a
    2/67:    https://codeload.github.com/JakubOnderka/PHP-Console-Highlighter/legacy.zip/7daa75df45242c8d5b75a22c00a201e7954e4fb5
    3/67:    https://codeload.github.com/symfony/var-dumper/legacy.zip/24bb94807eff00db49374c37ebf56a0304e8aef3
    4/67:    https://codeload.github.com/nikic/PHP-Parser/legacy.zip/c542e5d86a9775abd1021618eb2430278bfc1e01
    5/67:    https://codeload.github.com/myclabs/DeepCopy/legacy.zip/e3abefcd7f106677fd352cd7c187d6c969aa9ddc
    6/67:    https://codeload.github.com/sebastianbergmann/php-file-iterator/legacy.zip/6150bf2c35d3fc379e50c7602b75caceaa39dbf0
    7/67:    https://codeload.github.com/phpspec/prophecy/legacy.zip/4745ded9307786b730d7a60df5cb5a6c43cf95f7
    8/67:    https://codeload.github.com/sebastianbergmann/php-timer/legacy.zip/3e82f4e9fc92665fafd9157568e4dcb01d014e5b
    9/67:    https://codeload.github.com/sebastianbergmann/phpunit/legacy.zip/64c37805098cfe42a1aaf4838b60c654377ec4a9
    10/67:    https://codeload.github.com/bobthecow/psysh/legacy.zip/0f04df0b23663799a8941fae13cd8e6299bde3ed
    11/67:    https://codeload.github.com/sebastianbergmann/php-code-coverage/legacy.zip/92f5c61b5c64159faec5298325ffab0c7e59dcc8
    12/67:    https://codeload.github.com/doctrine/instantiator/legacy.zip/8e884e78f9f0eb1329e445619e04456e64d8051d
    13/67:    https://codeload.github.com/sebastianbergmann/phpunit-mock-objects/legacy.zip/49bc700750196c04dd6bc2c4c99cb632b893836b
    14/67:    https://codeload.github.com/sebastianbergmann/php-text-template/legacy.zip/31f8b717e51d9a2afca6c9f046f5d69fc27c8686
    15/67:    https://codeload.github.com/sebastianbergmann/comparator/legacy.zip/937efb279bd37a375bcadf584dec0726f84dbf22
    16/67:    https://codeload.github.com/sebastianbergmann/environment/legacy.zip/6e7133793a8e5a5714a551a8324337374be209df
    17/67:    https://codeload.github.com/sebastianbergmann/diff/legacy.zip/13edfd8706462032c2f52b4b862974dd46b71c9e
    18/67:    https://codeload.github.com/sebastianbergmann/exporter/legacy.zip/7ae5513327cb536431847bcc0c10edba2701064e
    19/67:    https://codeload.github.com/sebastianbergmann/global-state/legacy.zip/bc37d50fea7d017d3d340f230811c9f1d7280af4
    20/67:    https://codeload.github.com/sebastianbergmann/recursion-context/legacy.zip/913401df809e99e4f47b27cdd781f4a258d58791
    21/67:    https://codeload.github.com/sebastianbergmann/resource-operations/legacy.zip/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52
    22/67:    https://codeload.github.com/sebastianbergmann/version/legacy.zip/c829badbd8fdf16a0bad8aa7fa7971c029f1b9c5
    23/67:    https://codeload.github.com/JakubOnderka/PHP-Console-Color/legacy.zip/e0b393dacf7703fc36a4efc3df1435485197e6c1
    24/67:    https://codeload.github.com/phpDocumentor/ReflectionDocBlock/legacy.zip/d68dbdc53dc358a816f00b300704702b2eaff7b8
    25/67:    https://codeload.github.com/sebastianbergmann/php-token-stream/legacy.zip/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da
    26/67:    https://codeload.github.com/php-fig-rectified/psr2r-sniffer/legacy.zip/def642e5364c798695a07b6e051e2837bb0246c0
    27/67:    https://codeload.github.com/jdorn/sql-formatter/legacy.zip/64990d96e0959dff8e059dfcdc1af130728d92bc
    28/67:    https://codeload.github.com/cakephp/debug_kit/legacy.zip/5a1f567a36f854c8d4786757d822a9942bd8f5ea
    29/67:    https://codeload.github.com/cakephp/elastic-search/legacy.zip/e6de018f13569482ac17d9e7a1dbc70ddd1ee391
    30/67:    https://codeload.github.com/UseMuffin/Tags/legacy.zip/1e8767faa6b01a5b554c2375b5b0a7f1f09dc6d4
    31/67:    https://codeload.github.com/UseMuffin/Slug/legacy.zip/678ef1420b9a2c927bf481c28c3d1ec3c4776c5e
    32/67:    https://codeload.github.com/squizlabs/PHP_CodeSniffer/legacy.zip/6731851d6aaf1d0d6c58feff1065227b7fda3ba8
    33/67:    https://codeload.github.com/FriendsOfCake/search/legacy.zip/a67c2ac4cbedde63c52d630bf451cacfed7933d5
    34/67:    https://codeload.github.com/FriendsOfCake/bootstrap-ui/legacy.zip/89f360ab0a30469e1bd19b92ccd8b82232f376a0

  [ErrorException]                                                            
  rmdir(/home/travis/.composer/cache/files/henrikbjorn): Directory not empty  


  [ErrorException]                                                         
  rmdir(/home/travis/.composer/cache/files/codegyre): Directory not empty  


  [ErrorException]                                                             
  rmdir(/home/travis/.composer/cache/files/mobiledetect): Directory not empty  


  [ErrorException]                                                       
  rmdir(/home/travis/.composer/cache/files/ruflin): Directory not empty  


  [ErrorException]                                                    
  rmdir(/home/travis/.composer/cache/files/psa): Directory not empty  

in_array() ErrorException occurs.

after removing hirak/prestissimo, composer update is successable.
after change repositories.packagist packagist.org, error occurs, too.

error message:

$ composer update
Loading composer repositories with package information
in_array() expects parameter 2 to be array, null given
http://packagist.jp could not be fully loaded, package information was loaded from the local cache and may be out of date
Updating dependencies (including require-dev)

  [ErrorException]                                        
  in_array() expects parameter 2 to be array, null given  

update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--] [<packages>]...

$ composer require tuupola/slim-basic-auth
in_array() expects parameter 2 to be array, null given
http://packagist.jp could not be fully loaded, package information was loaded from the local cache and may be out of date

  [ErrorException]                                        
  in_array() expects parameter 2 to be array, null given  

require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-update] [--update-no-dev] [--update-with-dependencies] [--ignore-platform-reqs] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--] [<packages>]...

Problem with private packages in private vcs

I've got some private packages in my composer.json, also defined 3 vcs repositories.
Even when i configure my 3 private packages to be private in prestissimo config, the same errors appears

    Prefetch start: success: 0, failure: 0, total: 36
    1/36:    https://codeload.github.com/sebastianbergmann/php-file-iterator/legacy.zip/6150bf2c35d3fc379e50c7602b75caceaa39dbf0
    2/36:    https://codeload.github.com/sebastianbergmann/php-timer/legacy.zip/3e82f4e9fc92665fafd9157568e4dcb01d014e5b
    3/36:    https://codeload.github.com/sebastianbergmann/php-text-template/legacy.zip/31f8b717e51d9a2afca6c9f046f5d69fc27c8686
    4/36:    https://codeload.github.com/doctrine/instantiator/legacy.zip/8e884e78f9f0eb1329e445619e04456e64d8051d
    5/36:    https://codeload.github.com/sebastianbergmann/phpunit-mock-objects/legacy.zip/ac8e7a3db35738d56ee9a76e78a4e03d97628983
    6/36:    https://codeload.github.com/phpspec/prophecy/legacy.zip/4745ded9307786b730d7a60df5cb5a6c43cf95f7
    7/36:    https://codeload.github.com/sebastianbergmann/diff/legacy.zip/13edfd8706462032c2f52b4b862974dd46b71c9e
    8/36:    https://codeload.github.com/sebastianbergmann/comparator/legacy.zip/937efb279bd37a375bcadf584dec0726f84dbf22
    9/36:    https://codeload.github.com/sebastianbergmann/environment/legacy.zip/6e7133793a8e5a5714a551a8324337374be209df
    10/36:    https://codeload.github.com/sebastianbergmann/exporter/legacy.zip/7ae5513327cb536431847bcc0c10edba2701064e
    11/36:    https://codeload.github.com/sebastianbergmann/recursion-context/legacy.zip/913401df809e99e4f47b27cdd781f4a258d58791
    12/36:    https://codeload.github.com/sebastianbergmann/global-state/legacy.zip/bc37d50fea7d017d3d340f230811c9f1d7280af4
    13/36:    https://codeload.github.com/sebastianbergmann/php-code-coverage/legacy.zip/eabf68b476ac7d0f73793aada060f1c1a9bf8979
    14/36:    https://codeload.github.com/sebastianbergmann/version/legacy.zip/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6
    15/36:    https://codeload.github.com/symfony/yaml/legacy.zip/34c8a4b51e751e7ea869b8262f883d008a2b81b8
    16/36:    https://codeload.github.com/sebastianbergmann/php-token-stream/legacy.zip/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da
    17/36:    https://codeload.github.com/zendframework/zend-servicemanager/legacy.zip/846f8a4f9c2e438e45d2de5cec11509cb7e08d79
    18/36:    https://codeload.github.com/sebastianbergmann/phpunit/legacy.zip/ea76b17bced0500a28098626b84eda12dbcf119c
    19/36:    https://codeload.github.com/phpDocumentor/ReflectionDocBlock/legacy.zip/d68dbdc53dc358a816f00b300704702b2eaff7b8
    20/36:    https://codeload.github.com/zendframework/zend-inputfilter/legacy.zip/3208cddbb92df029230cde676a5c8e5a22b531c6
    21/36:    https://codeload.github.com/zendframework/zend-i18n/legacy.zip/509271eb7947e4aabebfc376104179cffea42696
    22/36:    https://codeload.github.com/container-interop/container-interop/legacy.zip/fc08354828f8fd3245f77a66b9e23a6bca48297e
    23/36:    https://codeload.github.com/zendframework/zend-filter/legacy.zip/93e6990a198e6cdd811064083acac4693f4b29ae

  [ErrorException]     
  Undefined offset: 0  

Exception trace:
 () at /root/.composer/vendor/hirak/prestissimo/src/ParallelDownloader.php:93
 Composer\Util\ErrorHandler::handle() at /root/.composer/vendor/hirak/prestissimo/src/ParallelDownloader.php:93
 Hirak\Prestissimo\ParallelDownloader->download() at /root/.composer/vendor/hirak/prestissimo/src/Plugin.php:75
 Hirak\Prestissimo\Plugin->onPostDependenciesSolving() at n/a:n/a
 call_user_func() at phar:///bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:156
 Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:133
 Composer\EventDispatcher\EventDispatcher->dispatchInstallerEvent() at phar:///bin/composer/src/Composer/Installer.php:524
 Composer\Installer->doInstall() at phar:///bin/composer/src/Composer/Installer.php:232
 Composer\Installer->run() at phar:///bin/composer/src/Composer/Command/InstallCommand.php:134
 Composer\Command\InstallCommand->execute() at phar:///bin/composer/vendor/symfony/console/Command/Command.php:259
 Symfony\Component\Console\Command\Command->run() at phar:///bin/composer/vendor/symfony/console/Application.php:844
 Symfony\Component\Console\Application->doRunCommand() at phar:///bin/composer/vendor/symfony/console/Application.php:192
 Symfony\Component\Console\Application->doRun() at phar:///bin/composer/src/Composer/Console/Application.php:165
 Composer\Console\Application->doRun() at phar:///bin/composer/vendor/symfony/console/Application.php:123
 Symfony\Component\Console\Application->run() at phar:///bin/composer/src/Composer/Console/Application.php:98
 Composer\Console\Application->run() at phar:///bin/composer/bin/composer:43
 require() at /bin/composer:25

The "hirak/prestissimo" plugin was skipped because it requires a Plugin API version ("~1.0.0-alpha10") that does not match your Composer installation

I just did a composer selfupdate

You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
Updating to version 1.1.2 (stable channel).
    Downloading: 100%
Use composer self-update --rollback to return to version 1.0.3

and got this when running composer update:

The "hirak/prestissimo" plugin was skipped because it requires a Plugin API version ("~1.0.0-alpha10") that does not match your Composer installation ("1.1.0"). You may need to run composer update with the "--no-plugins" option.

class load error when updating the plugin in a local install

If I re-run the composer update a secnd time, the problem disappears.
It seems logical since the same process is used to load the class that will be used later.

I think this is only due to the fact I installed it locally.

 % composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Removing hirak/prestissimo (0.1.8)
  - Installing hirak/prestissimo (0.1.9)
    Downloading: Connecting...PHP Fatal error:  Uncaught Error: Class 'Hirak\Prestissimo\OutputFile' not found in /home/florian/workspace/qspot/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php:73
Stack trace:
#0 /home/florian/workspace/qspot/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php(173): Hirak\Prestissimo\CurlRemoteFilesystem->Hirak\Prestissimo\{closure}(Resource id #841, Object(Hirak\Prestissimo\Aspects\HttpGetRequest))
#1 /home/florian/workspace/qspot/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php(86): Hirak\Prestissimo\CurlRemoteFilesystem->fetch('api.github.com', 'https://api.git...', true, Array, Object(Closure))
#2 phar:///usr/bin/composer/src/Composer/Downloader/FileDownloader.php(136): Hirak\Prestissimo\CurlRemoteFilesystem->copy('api.github.com', 'https://api.git...', '/home/florian/w...', true, Array)
#3 phar:///usr/bin/composer/src/Composer/Downloader/FileDownloader.php(88): Composer\Downloader\FileDownloader->doDownload(Object(Composer\Package\CompletePackage), '/home/florian/w...', 'https://api.git...')
#4 phar:///usr/ in /home/florian/workspace/qspot/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php on line 73

Fatal error: Uncaught Error: Class 'Hirak\Prestissimo\OutputFile' not found in /home/florian/workspace/qspot/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php on line 73

Error: Class 'Hirak\Prestissimo\OutputFile' not found in /home/florian/workspace/qspot/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php on line 73

Call Stack:
    0.0006     354736   1. {main}() /usr/bin/composer:0
    0.0060     549136   2. require('phar:///usr/bin/composer/bin/composer') /usr/bin/composer:24
    0.0288    2586992   3. Composer\Console\Application->run() phar:///usr/bin/composer/bin/composer:43
    0.0308    2869128   4. Symfony\Component\Console\Application->run() phar:///usr/bin/composer/src/Composer/Console/Application.php:82
    0.0316    2938712   5. Composer\Console\Application->doRun() phar:///usr/bin/composer/vendor/symfony/console/Application.php:120
    0.0326    3005360   6. Symfony\Component\Console\Application->doRun() phar:///usr/bin/composer/src/Composer/Console/Application.php:147
    0.0328    3005360   7. Symfony\Component\Console\Application->doRunCommand() phar:///usr/bin/composer/vendor/symfony/console/Application.php:189
    0.0328    3005360   8. Symfony\Component\Console\Command\Command->run() phar:///usr/bin/composer/vendor/symfony/console/Application.php:838
    0.0331    3007632   9. Composer\Command\UpdateCommand->execute() phar:///usr/bin/composer/vendor/symfony/console/Command/Command.php:256
    0.1427    6827296  10. Composer\Installer->run() phar:///usr/bin/composer/src/Composer/Command/UpdateCommand.php:143
    0.1469    6926792  11. Composer\Installer->doInstall() phar:///usr/bin/composer/src/Composer/Installer.php:232
   36.7447  506513000  12. Composer\Installer\InstallationManager->execute() phar:///usr/bin/composer/src/Composer/Installer.php:603
   36.7447  506513000  13. Composer\Installer\InstallationManager->update() phar:///usr/bin/composer/src/Composer/Installer/InstallationManager.php:139
   36.7447  506513000  14. Composer\Installer\PluginInstaller->update() phar:///usr/bin/composer/src/Composer/Installer/InstallationManager.php:172
   36.7447  506513000  15. Composer\Installer\LibraryInstaller->update() phar:///usr/bin/composer/src/Composer/Installer/PluginInstaller.php:75
   36.7449  506512960  16. Composer\Installer\LibraryInstaller->updateCode() phar:///usr/bin/composer/src/Composer/Installer/LibraryInstaller.php:109
   36.7450  506513120  17. Composer\Downloader\DownloadManager->update() phar:///usr/bin/composer/src/Composer/Installer/LibraryInstaller.php:180
   36.7450  506513120  18. Composer\Downloader\FileDownloader->update() phar:///usr/bin/composer/src/Composer/Downloader/DownloadManager.php:253
   36.7628  506516520  19. Composer\Downloader\ArchiveDownloader->download() phar:///usr/bin/composer/src/Composer/Downloader/FileDownloader.php:199
   36.7629  506516600  20. Composer\Downloader\FileDownloader->download() phar:///usr/bin/composer/src/Composer/Downloader/ArchiveDownloader.php:35
   36.7631  506517016  21. Composer\Downloader\FileDownloader->doDownload() phar:///usr/bin/composer/src/Composer/Downloader/FileDownloader.php:88
   36.7706  506817424  22. Hirak\Prestissimo\CurlRemoteFilesystem->copy() phar:///usr/bin/composer/src/Composer/Downloader/FileDownloader.php:136
   36.7707  506818120  23. Hirak\Prestissimo\CurlRemoteFilesystem->fetch() /home/florian/workspace/qspot/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php:86
   36.7718  506823032  24. Hirak\Prestissimo\CurlRemoteFilesystem->Hirak\Prestissimo\{closure}() /home/florian/workspace/qspot/vendor/hirak/prestissimo/src/CurlRemoteFilesystem.php:173

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.