Shopware6 und WSL2 - Einrichtung einer Entwicklungsumgebung

Hallo [@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski „Moritz Naczenski“)‍

ich möchte mir eine Entwicklungsumgebung über die WSL2 einrichten. 

In meiner WSL2 läuft Debian - folgende Pakete habe ich dann noch installiert:

  • php7.4
  • wget
  • unzip

Auch habe ich den Docker-Desktop installiert und der WSL2 zugeordnet.

Grundsätzlich Frage hierzu:
Ist es überhaupt möglich, shopware6 über eine WSL2 ans laufen zu bekommen? 
Gibt es hier ein Tutorial zu? 

Beste Grüße
Michael

 

 

 

Bisher habe ich in einer frisch installierten WSL folgendes ausgeführt:

sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https

wget https://packages.sury.org/php/apt.gpg sudo apt-key add apt.gpg

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.list

sudo apt update

sudo apt install -y php7.4 php7.4-cli php7.4-common

sudo apt install -y git

Ab hier halte ich mich dann an: Shopware 6: Installation

git clone https://github.com/shopware/development.git

cd development

rm -rf platform

git clone https://github.com/shopware/platform.git

wenn ich jetzt:

./psh.phar docker:start

dann erhalte ich:

Using .psh.yaml.dist

Starting Execution of 'docker:start' ('/home/mrohwer/development/dev-ops/docker/actions/start.sh')


(1/3) Starting
> dev-ops/docker/scripts/check_permissions.sh

(2/3) Starting
> if [-n ""]; then docker-sync start && echo "\n docker-sync is initially indexing files. It may take some minutes, until code changes take effect"; fi

(3/3) Starting
> docker-compose build --parallel && docker-compose up -d
        Couldn't connect to Docker daemon at http+docker://localhost - is it running?

        If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

Execution aborted, a subcommand failed!

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski “Moritz Naczenski”)‍

was ist hier falsch? 

hat hier denn einer bereits Shopware in einer WSL2 am laufen? 

Ich nutze SW6 mit Docker und WSL2. 

Deine Dockerversion wird wahrscheinlich zu alt sein:

Ich nutze:

ubuntu 20.04 LTS

docker-compose: 1.25.0

docker: 19.03.8

Hinzu kommt du musst die Zeile 34 in der docker-compose.yml auskommentieren: #ipc: host

 

 

 

@HeXtheone‍ Nutzt Du vscode oder PHPstorm? Mit welcher Shell arbeitest Du: WindowsPowerShell, WSL Bash oder GIT Bash?

Ich versuche mich auch gerade an der Installation unter Win10 : Ubuntu 20.04, docker-compose 1.27.4 und docker 19.03.13

Docker Desktop ist installiert, WSL2 enabled und als default distro ist Ubuntu 20.04 aktiviert.

Nach Aufruf von  ./psh.phar docker:start läuft es lange durch bis zum Abbruch:

        Build process completed successfully
        Installing '/usr/local/lib/php/extensions/no-debug-non-zts-20170718/pcov.so'
        install ok: channel://pecl.php.net/pcov-1.0.6
        configuration option "php_ini" is not set to php.ini location
        You should add "extension=pcov.so" to php.ini
        Changed current directory to /.composer


          [RuntimeException]
          No composer.json present in the current directory, this may be the cause of the following exception.

          [InvalidArgumentException]
          Package hirak/prestissimo at version has a PHP requirement incompatible with your PHP version, PHP extensions and Composer version

 

Ich hab letztens ein Tutorial erstellt. Vielleicht hilft es dir https://shyim.me/blog/shopware-environment-windows

2 „Gefällt mir“

@Shyim‍
DANKE FETT!

@Shyim‍ Danke, aber das bringt mich nicht wirklich weiter.

Hab nun nochmal Ubuntu 20.04 neu in Windows aufgesetzt und alle Befehle, wie HeXtheone genannt hat durchgeführt.
Gleiches Ergebnis wie bereits gezeigt: RuntimeExeption - Execution aborted  Crying

Allerdings finde ich die Ausgabe von wsl --list seltsam:

Muss man hier Ubuntu 20.04 als default(Standard) einstellen?

Was ist docker-desktop überhaupt für eine Distribution?

Schade das das so nicht funktioniert. Dockware habe ich zum Laufen bekommen, doch das ist imho keine richtige Development-Umgebung.

Im Academy-Kurs “Template Basic Training” erwähnt Niklas, dass wenn etwas bei der Installation(Aufruf psh.phar docker:start) schief geht, alles neu augesetzt werden muss??? Wie darf man das verstehen?

Lösch mal diese Zeile aus dem Development Repository

https://github.com/shopware/development/blob/master/dev-ops/docker/containers/app/Dockerfile#L39 und lösch von der Zeile davor das \ weg

2 „Gefällt mir“

Thumb-Up Vielen Dank, diese Hürde scheint überwunden. Smile

@sunflower‍ Ich nutze Windows Terminal mit Ubuntu

Derzeit entwickle ich aber mit Dockware, hast recht es ist die Live Version ohne psh.phar… aber bisher konnte ich alles mit der console oder den shellscripts unter /bin lösen.

@Shyim‍ Warum installierst du PhpStorm in Ubuntu und nicht direkt unter Windows?

 

Damit PhpStorm direkt mit den Filesystem redet und nicht komisch über Windows.

2 „Gefällt mir“

@Shyim‍

Danke für das tolle Tutorial.

Warum installierst du alles in WSL2 und nicht direkt unter Windows?

Kann ich das nicht genauso unter Windows installieren?

Ich habe im Moment PHPStorm unter Windows. Ich werde dann eine SFTP-Verbindung zu Docker aufbauen.

@Gunnarius‍ Weil der Dateisystemaustausch mit WSL2 immer noch unfassbar langsam ist. Mit SFTP / usw hab ich alles schon ausprobiert es nervt einfach irgendwann bricht der Sync ab. Oder du führst im Container nen Command aus. Musst alle Dateien wieder downloaden. Frisst alles unnötig zeit.

1 „Gefällt mir“

@Shyim‍ Danke. Es läuft soweit. Nach einem Datenbank-Import habe ich jetzt allerdings einen „500 Internal Server Error“.

Ich habe mich in den „shopware-docker_app_sw6_1“-Container per bash eingeloggt. Dort sehe ich zwar in /var/log/nginx zwei Logdatein. Die enthalten aber nicht den Fehler.
Kannst du mir einen Tipp geben wo ich die Logdatei sehen bzw. den Fehler beheben kann?
Danke.

Mach mal docker logs shopware-docker_app_sw6_1
Wenn du ins Admin kommst liegt das meist eig. daran dass die Domain falsch ist

@shyim ich habe das ganze wie folgt gelöst.

Docker + Wsl2 + Ubuntu 

Auf Ubuntu dann die Projekte und mittels Netzlaufwerk auf das Ubuntu-Netzwerkverzeichnis greifen ich dann mit PHPStorm zu. Funktioniert wunderbar, hin und wieder kurze Verzögerungen aber in 90% der Fälle ist alles gleich da. So ist ein Sync über PHPStorm nicht nötig.

Hallo @shyim
Ich bin gerade dabei meine neue Laptop Dev-Umgebung aufzusetzen.
Hat alles geklappt bis zum:

swdc up

ich erhalte dann:

laptop:~$ swdc up
unexpected character „-“ in variable name near „table-structure json-column version-noverify“
unexpected character „-“ in variable name near „table-structure json-column version-noverify“

wol liegt der Fehler? hast Du eine Idee?

System:
WSL2 mit Ubuntu 20.04.3
Einstellungen:


und

Docker Desktop:

WSL:
image