Hay Leute. Seit gestern versuche ich Shopware zu installieren und stoße bei jeder Optionnur auf Fehler.
Video Tutorial
Ich fange mit der Methode aus dem " Shopware 6 - Template Training Advanced (EN)" Video an.
Der erste Fehler kommt beim „./psh.phar install“.
Problem 1
- Root composer.json requires shopware/platform 6.4.x@dev || dev-trunk -> satisfiable by shopware/platform[dev-trunk].
- shopware/platform dev-trunk requires php ~8.1.0 || ~8.2.0 -> your php version (7.4.3; overridden via config.platform, actual: 7.4.33) does not satisfy that requirement.
Den hab ich gelöst indem ich bei der composer.json bei config.platform.php auf 8.1 gesetzt habe anstatt 7.4.3. Weil ich der Doku las, dass 8.1 die empfohlene Version ist. Als nächstes kommt der Fehler:
Problem 1
Root composer. json requires shopware/platform 6.4.x@dev 11 dev-trunk ->
- shopware/platform dev-trunk requires league/flysystem-memory ~3.10
with your root composer. json require (1.0.2).
Das geht so durch für alles, was bei require-dev aufgelistet ist. Ich habe das gelöst indem ich alle Versionen auf * stetzte. Ja, klingt nicht nach einer guten Idee. Als nächstes kommt der Fehler:
symfony/runtime contains a Composer plugin which is blocked by your allow-plugins config. You may add it to the list if you consider it safe.
You can run
"composer config --no-plugins allow-plugins.symfony/runtime [true|false]" to enable it (true) or disable it explicitly and suppress this excer
tion (false)
See https://getcomposer.org/allow-plugins
Den habe ich gelöst indem ich bei config.allowd-plugins „symfony/runtime“: true hinzugefügt habe. Next up haben wir:
Fatal error: Uncaught Error: Call to undefined function Symfony \ Component\Runtime\ Internal\str_starts_with() in /app/vendor/symfony/runtime/Internal/Compose rPlugin.php: 87
этаск trace.
Lag daran, dass hier doch noch PHP 7.4 ausgeführt wurde. Was ich, innerhalb des docker:ssh commands, mit exec php -v feststellte. Mit diesem Beitrag konnte ich das beheben: Upgrading PHP within a docker container - Unix & Linux Stack Exchange . Jetzt habe ich dort Version 8.1 stehen. Jetzt haben wir:
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Warning: The lock file is not up to date with the latest changes in composer. json. You may be getting outdated dependencies. It is recommended that you run
composer update or composer update <package name>
•
Führe ich Composer Update aus, erhalten wir:
Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 335544320 bytes) in phar:///Applications/MAMP/bin/php/composer/src/Composer/Depend
encyResolver/RuleSet.php on line 92
[Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors for more info on how to handle out of memory errors.
exec php -ini | grep memory sagt mir, dass der Memory Limit auf -1 liegt. An der Stelle habe ich die composer und docker Dateien wieder auf den Anfangszustand zurückgestellt, soweit es ging. Doch ich lande dann wieder bei den Problemen davor. Dann hab ich das Memory Limit auf 512 gesetzt und wir kamen weiter als nur den Schritt 6\46.
(22/46) Starting
> SHOPWARE_INSTALL=1 bin/console system:install --basic-setup --force
Symfony\Component\ErrorHandler\Error\ClassNotFoundError {#219
#message: """
Attempted to load class "SensioFrameworkExtraBundle" from namespace "Sensio\Bundle\FrameworkExtraBundle".\n
Did you forget a "use" statement for another namespace?
"""
#code: 0
#file: "./platform/src/Core/Kernel.php"
#line: 97
trace: {
./platform/src/Core/Kernel.php:97 {
Shopware\Core\Kernel->registerBundles(): iterable
› if (isset($envs['all']) || isset($envs[$this->environment])) {
› $bundle = new $class();
› $instanciatedBundleNames[] = $bundle->getName();
}
./vendor/symfony/http-kernel/Kernel.php:331 { …}
./platform/src/Core/Kernel.php:163 { …}
./bin/console:49 { …}
}
}
2023-05-31T16:13:05+00:00 [critical] Uncaught Error: Class "Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle" not found
Ab hier komm ich nicht mehr weiter. Wenn ich VSCode nach SensioFrameworkExtraBundle suche, finde ich es in der bundles.php.
JavaScript Fehler
Twig Blöcke und Plugin überschreiben hat funktioniert als ich mal eine Laufende Installation hatte. Dann wollte ich was mit JavaScript machen, hier schien das System aber nicht selbst zu kompilieren. Im Video hat der Mann jetzt nichts spezielles gezeigt, was man machen muss. Im Netz fande ich nur die option ./bin/build-storefront.sh zu runnen. Dabei bekam ich immer Fehler. Diese Fehler hatte ich auch bei den anderen Wegen der Installation:
An exception occurred in the driver: SQLSTATE[HY000] [2002] No such file or directory
Und andere Fehler laut denen ich kein Zugriff hatte auf die Datenbank oder das Passwort falsch war. Bei allen Installationen-Möglichkeiten sties ich auf diesen Fehler. So als würde dieser Ordner komplett abgekoppelt sein von außen? Ich hatte auch extra einen neuen Benutzer erstellt, ihm alle Rechte gegeben aber nope.