hirak / prestissimo Goto Github PK
View Code? Open in Web Editor NEWcomposer parallel install plugin
License: MIT License
composer parallel install plugin
License: MIT License
Failed to download ... from dist: ... is not a zip archive.
Failed to execute unzip ...
unzip: unexpected end of file
unzip: inflate error
I get this sometimes. Not sure how to reproduce...
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
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?
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"
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>]...
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?
First, I've installed Laravel, and prestissimo worked perfectly.
Then, I've tried to install Yii2 Advanced App. Composer installed npm and bower packages (via composer-asset-plugin), but then console stopped as seen on screenshot below:
It has already passed 30 minutes, but nothing happend...
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 :)
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
Any plans for composer 1.1 support?
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;
}
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"
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
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
working with https://packagist.jp
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.
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.
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
[ErrorException]
Undefined property: Hirak\Prestissimo\CurlRemoteFilesystem::$lastHeaders
when running composer update
composer version fff5074bbf5697a907b2832902d4219801b90bc5
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. :)
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
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.
Parallel downloading https://packagist.org/packages.json
use CURLOPT_SSL_FALSESTART
Added in cURL 7.42.0. Available since PHP 7.0.7.
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.
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.
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]
$ 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.
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>]...
Using version ^0.1.12 for hirak/prestissimo
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
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
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.
// config.json
{
repositories: {
packagist: {
type: composer,
url: https://packagist.com,
force-lazy-providers: true
}
}
}
I re-wrote all code. This branch is more clean code.
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
.
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="
]
}
}
}
]
...
}
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
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
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
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
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
λ 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>]...
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
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?
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
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.