# Mautic 4.4.8 composer install is broken

**URL:** <https://forum.mautic.org/t/mautic-4-4-8-composer-install-is-broken/28097>\
**Category:** Mautic 4 Install/Upgrade Support\
**Created:** [May 21, 2023, 3:28pm UTC](https://forum.mautic.org/t/mautic-4-4-8-composer-install-is-broken/28097 "2023-05-21T15:28:30Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yosu\_Cadilla](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.mautic.org/yosu_cadilla/32/6206_2.png) [@Yosu\_Cadilla](https://forum.mautic.org/u/Yosu_Cadilla)\
**Post date:** [May 21, 2023, 3:28pm UTC](https://forum.mautic.org/t/mautic-4-4-8-composer-install-is-broken/28097/1 "2023-05-21T15:28:30Z")

</div>

My PHP version is : 8.0  
My MySQL/MariaDB version is: MariaDB 10.6

I am Installing with composer: Following the instructions found here:

> **[Installation — Mautic Documentation 0.1 documentation](https://docs.mautic.org/en/5.x/getting_started/how_to_install_mautic.html#installing-with-composer)**

These messages and errors are showing in the CLI :

# composer create-project mautic/recommended-project:^4 some-dir --no-interaction

PHP Deprecated: Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Console/Helper/HelperSet.php on line 104

Deprecated: Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Console/Helper/HelperSet.php on line 104  
Do not run Composer as root/super user! See [How do I install untrusted packages safely? Is it safe to run Composer as superuser or root? - Composer](https://getcomposer.org/root) for details  
Deprecation Notice: Return type of Composer\Repository\CompositeRepository::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/Repository/CompositeRepository.php:139  
Deprecation Notice: Return type of Composer\Repository\ArrayRepository::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/Repository/ArrayRepository.php:206  
Deprecation Notice: Method ReflectionParameter::getClass() is deprecated in /usr/share/php/Composer/Repository/RepositoryManager.php:130  
Deprecation Notice: Method ReflectionParameter::getClass() is deprecated in /usr/share/php/Composer/Repository/RepositoryManager.php:130  
Creating a “mautic/recommended-project:^4” project at “./some-dir”  
Deprecation Notice: Return type of Composer\DependencyResolver\Pool::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/Pool.php:166  
Warning from [https://repo.packagist.org](https://repo.packagist.org): Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to Composer 2. See [Deprecating Packagist.org support for Composer 1.x](https://blog.packagist.com/deprecating-composer-1-support/)  
Info from [https://repo.packagist.org](https://repo.packagist.org): #StandWithUkraine  
Installing mautic/recommended-project (4.4.8)  
Deprecation Notice: Return type of Composer\Repository\ArrayRepository::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/Repository/ArrayRepository.php:206  
Deprecation Notice: Return type of Composer\Repository\ArrayRepository::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/Repository/ArrayRepository.php:206  
Deprecation Notice: Return type of Symfony\Component\Finder\Finder::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Finder/Finder.php:620  
Deprecation Notice: Return type of Symfony\Component\Finder\Finder::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Finder/Finder.php:691  
Deprecation Notice: Return type of Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::getChildren() should either be compatible with RecursiveDirectoryIterator::getChildren(): RecursiveDirectoryIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Finder/Iterator/RecursiveDirectoryIterator.php:81  
Deprecation Notice: Return type of Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::rewind() should either be compatible with FilesystemIterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Finder/Iterator/RecursiveDirectoryIterator.php:109  
Deprecation Notice: Return type of Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::current() should either be compatible with FilesystemIterator::current(): SplFileInfo|FilesystemIterator|string, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Finder/Iterator/RecursiveDirectoryIterator.php:61  
Deprecation Notice: Return type of Symfony\Component\Finder\Iterator\DepthRangeFilterIterator::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Finder/Iterator/DepthRangeFilterIterator.php:41

- Installing mautic/recommended-project (4.4.8): Downloading (100%)  
Deprecation Notice: Return type of Symfony\Component\Process\Process::getIterator($flags = 0) should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Process/Process.php:606  
Deprecation Notice: Return type of Symfony\Component\Finder\Iterator\FilenameFilterIterator::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Finder/Iterator/FilenameFilterIterator.php:28  
Created project in /var/www/html/some-dir  
Deprecation Notice: Optional parameter $schema declared before required parameter $path is implicitly treated as a required parameter in /usr/share/php/JsonSchema/Constraints/UndefinedConstraint.php:62  
Deprecation Notice: Optional parameter $schema declared before required parameter $path is implicitly treated as a required parameter in /usr/share/php/JsonSchema/Constraints/UndefinedConstraint.php:108  
Deprecation Notice: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/share/php/JsonSchema/Constraints/Constraint.php:48  
Deprecation Notice: Method ReflectionParameter::getClass() is deprecated in /usr/share/php/Composer/Repository/RepositoryManager.php:130  
Deprecation Notice: Method ReflectionParameter::getClass() is deprecated in /usr/share/php/Composer/Repository/RepositoryManager.php:130  
Deprecation Notice: Method ReflectionParameter::getClass() is deprecated in /usr/share/php/Composer/Repository/RepositoryManager.php:130  
Deprecation Notice: Return type of Composer\Repository\ArrayRepository::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/Repository/ArrayRepository.php:206  
Loading composer repositories with package information  
Warning from [https://repo.packagist.org](https://repo.packagist.org): Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to Composer 2. See [Deprecating Packagist.org support for Composer 1.x](https://blog.packagist.com/deprecating-composer-1-support/)  
Info from [https://repo.packagist.org](https://repo.packagist.org): #StandWithUkraine  
Updating dependencies (including require-dev)  
Deprecation Notice: Return type of Composer\DependencyResolver\RuleSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/RuleSet.php:114  
Deprecation Notice: Return type of Composer\DependencyResolver\RuleSet::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/RuleSet.php:99

Deprecation Notice: Return type of Composer\DependencyResolver\Decisions::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/Decisions.php:155  
Deprecation Notice: Return type of Composer\DependencyResolver\Decisions::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/Decisions.php:165  
Deprecation Notice: Return type of Composer\DependencyResolver\Decisions::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/Decisions.php:160  
Deprecation Notice: Return type of Composer\DependencyResolver\Decisions::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/Decisions.php:170  
Deprecation Notice: Return type of Composer\DependencyResolver\Decisions::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/Decisions.php:150  
Deprecation Notice: Return type of Composer\DependencyResolver\Decisions::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/Decisions.php:145  
Deprecation Notice: Return type of Composer\DependencyResolver\RuleSetIterator::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/RuleSetIterator.php:36  
Deprecation Notice: Return type of Composer\DependencyResolver\RuleSetIterator::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/RuleSetIterator.php:46  
Deprecation Notice: Return type of Composer\DependencyResolver\RuleSetIterator::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/RuleSetIterator.php:41  
Deprecation Notice: Return type of Composer\DependencyResolver\RuleSetIterator::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/RuleSetIterator.php:89  
Deprecation Notice: Return type of Composer\DependencyResolver\RuleSetIterator::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/RuleSetIterator.php:70  
PHP Fatal error: Uncaught ArgumentCountError: array\_merge() does not accept unknown named parameters in /usr/share/php/Composer/DependencyResolver/DefaultPolicy.php:84  
Stack trace:  
#0 [internal function]: array\_merge()  
#1 /usr/share/php/Composer/DependencyResolver/DefaultPolicy.php(84): call\_user\_func\_array()  
#2 /usr/share/php/Composer/DependencyResolver/Solver.php(387): Composer\DependencyResolver\DefaultPolicy-\>selectPreferredPackages()  
#3 /usr/share/php/Composer/DependencyResolver/Solver.php(740): Composer\DependencyResolver\Solver-\>selectAndInstall()  
#4 /usr/share/php/Composer/DependencyResolver/Solver.php(231): Composer\DependencyResolver\Solver-\>runSat()  
#5 /usr/share/php/Composer/Installer.php(489): Composer\DependencyResolver\Solver-\>solve()  
#6 /usr/share/php/Composer/Installer.php(232): Composer\Installer-\>doInstall()  
#7 /usr/share/php/Composer/Command/CreateProjectCommand.php(215): Composer\Installer-\>run()  
#8 /usr/share/php/Composer/Command/CreateProjectCommand.php(129): Composer\Command\CreateProjectCommand-\>installProject()  
#9 /usr/share/php/Symfony/Component/Console/Command/Command.php(255): Composer\Command\CreateProjectCommand-\>execute()  
#10 /usr/share/php/Symfony/Component/Console/Application.php(934): Symfony\Component\Console\Command\Command-\>run()  
#11 /usr/share/php/Symfony/Component/Console/Application.php(273): Symfony\Component\Console\Application-\>doRunCommand()  
#12 /usr/share/php/Composer/Console/Application.php(281): Symfony\Component\Console\Application-\>doRun()  
#13 /usr/share/php/Symfony/Component/Console/Application.php(149): Composer\Console\Application-\>doRun()  
#14 /usr/share/php/Composer/Console/Application.php(113): Symfony\Component\Console\Application-\>run()  
#15 /usr/bin/composer(62): Composer\Console\Application-\>run()  
#16 {main}  
thrown in /usr/share/php/Composer/DependencyResolver/DefaultPolicy.php on line 84

Fatal error: Uncaught ArgumentCountError: array\_merge() does not accept unknown named parameters in /usr/share/php/Composer/DependencyResolver/DefaultPolicy.php:84  
Stack trace:  
#0 [internal function]: array\_merge()  
#1 /usr/share/php/Composer/DependencyResolver/DefaultPolicy.php(84): call\_user\_func\_array()  
#2 /usr/share/php/Composer/DependencyResolver/Solver.php(387): Composer\DependencyResolver\DefaultPolicy-\>selectPreferredPackages()  
#3 /usr/share/php/Composer/DependencyResolver/Solver.php(740): Composer\DependencyResolver\Solver-\>selectAndInstall()  
#4 /usr/share/php/Composer/DependencyResolver/Solver.php(231): Composer\DependencyResolver\Solver-\>runSat()  
#5 /usr/share/php/Composer/Installer.php(489): Composer\DependencyResolver\Solver-\>solve()  
#6 /usr/share/php/Composer/Installer.php(232): Composer\Installer-\>doInstall()  
#7 /usr/share/php/Composer/Command/CreateProjectCommand.php(215): Composer\Installer-\>run()  
#8 /usr/share/php/Composer/Command/CreateProjectCommand.php(129): Composer\Command\CreateProjectCommand-\>installProject()  
#9 /usr/share/php/Symfony/Component/Console/Command/Command.php(255): Composer\Command\CreateProjectCommand-\>execute()  
#10 /usr/share/php/Symfony/Component/Console/Application.php(934): Symfony\Component\Console\Command\Command-\>run()  
#11 /usr/share/php/Symfony/Component/Console/Application.php(273): Symfony\Component\Console\Application-\>doRunCommand()  
#12 /usr/share/php/Composer/Console/Application.php(281): Symfony\Component\Console\Application-\>doRun()  
#13 /usr/share/php/Symfony/Component/Console/Application.php(149): Composer\Console\Application-\>doRun()  
#14 /usr/share/php/Composer/Console/Application.php(113): Symfony\Component\Console\Application-\>run()  
#15 /usr/bin/composer(62): Composer\Console\Application-\>run()  
#16 {main}  
thrown in /usr/share/php/Composer/DependencyResolver/DefaultPolicy.php on line 84

---

<div class="post-metadata">

**Author:** ![escopecz](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.mautic.org/escopecz/32/370_2.png) [@escopecz](https://forum.mautic.org/u/escopecz)\
**Post date:** [May 22, 2023, 10:08am UTC](https://forum.mautic.org/t/mautic-4-4-8-composer-install-is-broken/28097/2 "2023-05-22T10:08:12Z")

</div>

See [Fatal error: Uncaught ArgumentCountError: array\_merge() does not accept unknown named parameters · Issue #9097 · composer/composer · GitHub](https://github.com/composer/composer/issues/9097)

```auto
Warning from https://repo.packagist.org: Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to Composer 2. See https://blog.packagist.com/deprecating-composer-1-support/

```

---

<div class="post-metadata">

**Author:** ![Yosu\_Cadilla](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.mautic.org/yosu_cadilla/32/6206_2.png) [@Yosu\_Cadilla](https://forum.mautic.org/u/Yosu_Cadilla)\
**Post date:** [May 22, 2023, 3:36pm UTC](https://forum.mautic.org/t/mautic-4-4-8-composer-install-is-broken/28097/3 "2023-05-22T15:36:22Z")

</div>

Thank you @escopecz  
I am following the official documentation.

> **[Installing with Composer](https://docs.mautic.org/en/setup/how-to-install-mautic/install-and-manage-mautic-with-composer)**
>
> How to install Mautic with Composer.

---

<div class="post-metadata">

**Author:** ![escopecz](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.mautic.org/escopecz/32/370_2.png) [@escopecz](https://forum.mautic.org/u/escopecz)\
**Post date:** [May 23, 2023, 6:55am UTC](https://forum.mautic.org/t/mautic-4-4-8-composer-install-is-broken/28097/4 "2023-05-23T06:55:21Z")

</div>

@Yosu_Cadilla would you mind update that documentation by adding a note about using a up-to-date Composer version? That would help others having this issue. We could also link to [Command-line interface / Commands - Composer](https://getcomposer.org/doc/03-cli.md#self-update-selfupdate)

---

<div class="post-metadata">

**Author:** ![Yosu\_Cadilla](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.mautic.org/yosu_cadilla/32/6206_2.png) [@Yosu\_Cadilla](https://forum.mautic.org/u/Yosu_Cadilla)\
**Post date:** [May 23, 2023, 1:27pm UTC](https://forum.mautic.org/t/mautic-4-4-8-composer-install-is-broken/28097/5 "2023-05-23T13:27:19Z")

</div>

Yes, I can do the changes. Can you help me with what the changes need to be?

---

<div class="post-metadata">

**Author:** ![Yosu\_Cadilla](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.mautic.org/yosu_cadilla/32/6206_2.png) [@Yosu\_Cadilla](https://forum.mautic.org/u/Yosu_Cadilla)\
**Post date:** [May 23, 2023, 9:07pm UTC](https://forum.mautic.org/t/mautic-4-4-8-composer-install-is-broken/28097/6 "2023-05-23T21:07:31Z")

</div>

(Meaning I don’t have a clue what the information on the link you provided means, and I won’t be able to translate that into installation instructions unless I get help from you or someone else who understands what said page is about).

---

<div class="post-metadata">

**Author:** ![escopecz](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.mautic.org/escopecz/32/370_2.png) [@escopecz](https://forum.mautic.org/u/escopecz)\
**Post date:** [May 25, 2023, 10:17am UTC](https://forum.mautic.org/t/mautic-4-4-8-composer-install-is-broken/28097/7 "2023-05-25T10:17:38Z")

</div>

Sure. So I’d go to the new docs where the Composer installation is documented:

[https://mautic-documentation.readthedocs.io/en/latest/getting\_started/how\_to\_install\_mautic.html?highlight=composer#installing-with-composer](https://mautic-documentation.readthedocs.io/en/latest/getting_started/how_to_install_mautic.html?highlight=composer#installing-with-composer)

There is a Edit on Github button at the top of the page. The new docs do not have the “contributing” doc yet, but the process the same as the old docs. See [Contributing to the Mautic documentation | Mautic](https://docs.mautic.org/en/contributing)

I was suggesting to put there a note about having sort of up to date Composer when installing/updating Mautic. To avoid the issue you experienced. The doc link I shared shows how to update composer. So I’d add there something like:

> Ensure your Composer version is up to date. Run the [`composer self-update`](https://getcomposer.org/doc/03-cli.md#self-update-selfupdate) command just to be sure.

WDYT?

---

<div class="post-metadata">

**Author:** ![Yosu\_Cadilla](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.mautic.org/yosu_cadilla/32/6206_2.png) [@Yosu\_Cadilla](https://forum.mautic.org/u/Yosu_Cadilla)\
**Post date:** [May 26, 2023, 5:19pm UTC](https://forum.mautic.org/t/mautic-4-4-8-composer-install-is-broken/28097/8 "2023-05-26T17:19:34Z")

</div>

I really do not understand what’s on that page, but I tried to follow the instructions anyway…

root  testm4composer  ~  php composer.phar self-update  
Could not open input file: composer.phar

root  testm4composer  ~  sudo -H composer self-update  
PHP Deprecated: Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Console/Helper/HelperSet.php on line 104

Deprecated: Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Console/Helper/HelperSet.php on line 104  
Do not run Composer as root/super user! See [How do I install untrusted packages safely? Is it safe to run Composer as superuser or root? - Composer](https://getcomposer.org/root) for details

Command “self-update” is not defined.

root  testm4composer  ~  cd /var/www/html

root  testm4composer  /var/www/html  php composer.phar self-update  
Could not open input file: composer.phar

root  testm4composer  /var/www/html  sudo -H composer self-update  
PHP Deprecated: Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Console/Helper/HelperSet.php on line 104

Deprecated: Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Console/Helper/HelperSet.php on line 104  
Do not run Composer as root/super user! See [How do I install untrusted packages safely? Is it safe to run Composer as superuser or root? - Composer](https://getcomposer.org/root) for details

Command “self-update” is not defined.

root  testm4composer  /var/www/html  sudo -H composer self-update  
PHP Deprecated: Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Console/Helper/HelperSet.php on line 104

Deprecated: Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Console/Helper/HelperSet.php on line 104  
Do not run Composer as root/super user! See [How do I install untrusted packages safely? Is it safe to run Composer as superuser or root? - Composer](https://getcomposer.org/root) for details

Command “self-update” is not defined.

---

<div class="post-metadata">

**Author:** ![escopecz](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.mautic.org/escopecz/32/370_2.png) [@escopecz](https://forum.mautic.org/u/escopecz)\
**Post date:** [May 29, 2023, 7:19am UTC](https://forum.mautic.org/t/mautic-4-4-8-composer-install-is-broken/28097/9 "2023-05-29T07:19:43Z")

</div>

I don’t know what’s wrong with the system you run Composer on. I sent you link to the official Composer documentation. I checked that the same command is recommended to upgrade from Composer 1 to 2. Please reinstall Composer.

---

<div class="post-metadata">

**Author:** ![Yosu\_Cadilla](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.mautic.org/yosu_cadilla/32/6206_2.png) [@Yosu\_Cadilla](https://forum.mautic.org/u/Yosu_Cadilla)\
**Post date:** [May 29, 2023, 12:40pm UTC](https://forum.mautic.org/t/mautic-4-4-8-composer-install-is-broken/28097/10 "2023-05-29T12:40:36Z")

</div>

Why are you assuming there’s something wrong with my System?  
If you don’t want to help anymore, it is alright, you don’t have to, but please don’t insult people just because you got tired of the conversation.  
Thanks!

---

<div class="post-metadata">

**Author:** ![escopecz](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.mautic.org/escopecz/32/370_2.png) [@escopecz](https://forum.mautic.org/u/escopecz)\
**Post date:** [May 29, 2023, 2:41pm UTC](https://forum.mautic.org/t/mautic-4-4-8-composer-install-is-broken/28097/11 "2023-05-29T14:41:38Z")

</div>

I didn’t mean to be insulting, Yosu. I genuinely tried to help you. Apologies.
