Skip to content

Commit e30f5ee

Browse files
authored
Merge pull request #7107 from kenjis/fix-composer-undefined-method-error
fix: Call to undefined method Composer\InstalledVersions::getAllRawData() error
2 parents cd37ad0 + fb71890 commit e30f5ee

File tree

3 files changed

+15
-7
lines changed

3 files changed

+15
-7
lines changed

system/Autoloader/Autoloader.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,14 @@ private function loadComposerNamespaces(ClassLoader $composer, array $composerPa
373373
unset($namespacePaths['CodeIgniter\\']);
374374
}
375375

376+
if (! method_exists(InstalledVersions::class, 'getAllRawData')) {
377+
throw new RuntimeException(
378+
'Your Composer version is too old.'
379+
. ' Please update Composer (run `composer self-update`) to v2.0.14 or later'
380+
. ' and remove your vendor/ directory, and run `composer update`.'
381+
);
382+
}
383+
// This method requires Composer 2.0.14 or later.
376384
$packageList = InstalledVersions::getAllRawData()[0]['versions'];
377385

378386
// Check config for $composerPackages.

user_guide_src/source/installation/installing_composer.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ Composer Installation
77

88
Composer can be used in several ways to install CodeIgniter4 on your system.
99

10+
.. important:: CodeIgniter4 requires Composer 2.0.14 or later.
11+
1012
The first technique describes creating a skeleton project
1113
using CodeIgniter4, that you would then use as the base for a new webapp.
1214
The second technique described below lets you add CodeIgniter4 to an existing

user_guide_src/source/installation/upgrade_430.rst

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,14 @@ Please refer to the upgrade instructions corresponding to your installation meth
1212
:local:
1313
:depth: 2
1414

15-
Trouble Shooting
15+
Composer Version
1616
****************
1717

18-
Call to undefined method Composer\\InstalledVersions::getAllRawData()
19-
=====================================================================
18+
.. important:: If you use Composer, CodeIgniter v4.3.0 requires
19+
Composer 2.0.14 or later.
2020

21-
Some users reported "*Fatal error: Uncaught Error: Call to undefined method Composer\\InstalledVersions::getAllRawData()*" after upgrading with Composer.
22-
23-
If you get the error, upgrade your ``composer`` tool, and delete the **vendor/**
24-
directory, and run ``composer update`` again.
21+
If you are using older version of Composer, upgrade your ``composer`` tool,
22+
and delete the **vendor/** directory, and run ``composer update`` again.
2523

2624
The procedure, for example, is as follows::
2725

0 commit comments

Comments
 (0)