Mittwald Hosting kein NPM und Node

Hallo

laut Shopware ist Mittwald ein emfohlener Shopware Hoster.

Somit sollte Mittwald auch den Anforderungen gerecht werden und Dinge wie NPM und Node auf dem Server haben.

Leider ist das nicht der Fall.

Wie führt Ihr folgende Befehle ohne NPM aus?

 ./bin/build-administration.sh  ./bin/build-storefront.sh

Danke!

Haben das gleiche Problem.

Haben den Programmcode mittels rsync auf einen anderen Server übertragen und dort kompilieren wollen (build-admnistration.php).

Leider auch kein Glück:

ModuleNotFoundError: Module not found: Error: Can't resolve 'src/flag/feature_next6050' in '/home/user/shopware/vendor/shopware/administration/Resources/app/administration/src/module/sw-settings-google-shopping'
    at factory.create (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/webpack/lib/Compilation.js:925:10)
    at factory (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/webpack/lib/NormalModuleFactory.js:401:22)
    at resolver (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/webpack/lib/NormalModuleFactory.js:130:21)
    at asyncLib.parallel (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/webpack/lib/NormalModuleFactory.js:224:22)
    at /home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/neo-async/async.js:2830:7
    at /home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/neo-async/async.js:6877:13
    at normalResolver.resolve (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/webpack/lib/NormalModuleFactory.js:214:25)
    at doResolve (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/Resolver.js:213:14)
    at hook.callAsync (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
    at _fn0 (eval at create (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/tapable/lib/HookCodeFactory.js:33:10), :15:1)
    at resolver.doResolve (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:44:7)
    at hook.callAsync (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
    at _fn0 (eval at create (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/tapable/lib/HookCodeFactory.js:33:10), :15:1)
    at hook.callAsync (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
    at _fn0 (eval at create (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/tapable/lib/HookCodeFactory.js:33:10), :27:1)
    at resolver.doResolve (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:67:43)
    at hook.callAsync (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
    at _fn0 (eval at create (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/tapable/lib/HookCodeFactory.js:33:10), :657:1)
    at resolver.doResolve (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/AliasPlugin.js:67:43)
    at hook.callAsync (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
    at _fn0 (eval at create (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/tapable/lib/HookCodeFactory.js:33:10), :15:1)
    at resolver.doResolve (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:44:7)
    at hook.callAsync (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
    at _fn0 (eval at create (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/tapable/lib/HookCodeFactory.js:33:10), :15:1)
    at hook.callAsync (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
    at _fn0 (eval at create (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/tapable/lib/HookCodeFactory.js:33:10), :27:1)
    at resolver.doResolve (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:67:43)
    at hook.callAsync (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
    at _fn43 (eval at create (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/tapable/lib/HookCodeFactory.js:33:10), :16:1)
    at hook.callAsync (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
    at _fn0 (eval at create (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/tapable/lib/HookCodeFactory.js:33:10), :27:1)
    at resolver.doResolve (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:67:43)
    at hook.callAsync (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
    at _fn1 (eval at create (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/tapable/lib/HookCodeFactory.js:33:10), :16:1)
    at hook.callAsync (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
    at _fn0 (eval at create (/home/user/shopware/vendor/shopware/administration/Resources/app/administration/node_modules/tapable/lib/HookCodeFactory.js:33:10), :15:1)
resolve 'src/flag/feature_next6050' in '/home/user/shopware/vendor/shopware/administration/Resources/app/administration/src/module/sw-settings-google-shopping'
  Parsed request is a module
  using description file: /home/user/shopware/vendor/shopware/administration/Resources/app/administration/package.json (relative path: ./src/module/sw-settings-google-shopping)
    aliased with mapping 'src': '/home/user/shopware/vendor/shopware/administration/Resources/app/administration/src' to '/home/user/shopware/vendor/shopware/administration/Resources/app/administration/src/flag/feature_next6050'
      using description file: /home/user/shopware/vendor/shopware/administration/Resources/app/administration/package.json (relative path: ./src/module/sw-settings-google-shopping)
        Field 'browser' doesn't contain a valid alias configuration
        using description file: /home/user/shopware/vendor/shopware/administration/Resources/app/administration/package.json (relative path: ./src/flag/feature_next6050)
          no extension
            Field 'browser' doesn't contain a valid alias configuration
            /home/user/shopware/vendor/shopware/administration/Resources/app/administration/src/flag/feature_next6050 doesn't exist
          .js
            Field 'browser' doesn't contain a valid alias configuration
            /home/user/shopware/vendor/shopware/administration/Resources/app/administration/src/flag/feature_next6050.js doesn't exist
          .vue
            Field 'browser' doesn't contain a valid alias configuration
            /home/user/shopware/vendor/shopware/administration/Resources/app/administration/src/flag/feature_next6050.vue doesn't exist
          .json
            Field 'browser' doesn't contain a valid alias configuration
            /home/user/shopware/vendor/shopware/administration/Resources/app/administration/src/flag/feature_next6050.json doesn't exist
          .less
            Field 'browser' doesn't contain a valid alias configuration
            /home/user/shopware/vendor/shopware/administration/Resources/app/administration/src/flag/feature_next6050.less doesn't exist
          .twig
            Field 'browser' doesn't contain a valid alias configuration
            /home/user/shopware/vendor/shopware/administration/Resources/app/administration/src/flag/feature_next6050.twig doesn't exist
          as directory
            /home/user/shopware/vendor/shopware/administration/Resources/app/administration/src/flag/feature_next6050 doesn't exist
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! administration@1.0.0 build: `mode=production webpack`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the administration@1.0.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/user/.npm/_logs/2020-10-21T07_24_35_372Z-debug.log

 

Jemand ne Idee?

 

 

Hab die Datei hier gefunden: platform/src/Administration/Resources/app/administration/src/flag at 6.2 · shopware/platform · GitHub

Trick dabei war in den 6.2er Branch zu schauen, in späteren Branches existiert die Datei nicht mehr.

Unser Shop ist momentan version 6.3

 

Und der Grund warum wir manuell was dort anpassen mussten ist übrigens folgender PR: Use custom name prefix for nested routes by 313 · Pull Request #462 · shopware/platform · GitHub

Ohne diesen PR kann ein Plugin was wir brauchen unter Shopware 6 nicht fertig programmiert werden, deshalb mussten wir ihn von Hand einbauen :frowning:

Toll auch dass in den Systemvoraussetzungen node und npm nicht erwähnt wird: Shopware 6 - Erste Schritte - Systemvoraussetzungen

 

Ich hab nichtsdestotrotz mal den Mittwald Support angeschrieben. Ich denke node und npm sollte heutzutage auch bei Webspacepaketen verfügbar sein.

 

Das sind auch keine Voraussetzungen für ein Live-System. Warum sollte man das auf dem Live-System ausführen?

Das Live-System sollte nur mit den kompilierten Dateien arbeiten. Sowas wie NPM und Node will man auf einem Live-Server nicht haben. Das ist also explizit so.

Was spricht dagegen bereits die kompilierten Dateien hochzuladen? Man sollte ja eh lokal entwickeln.

1 „Gefällt mir“

Sehe ich wie Moritz. Das muss auf einem Produktiv-System nicht laufen. Kompiliert sollte das alles auf DEV bzw. lokal werden.

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski “Moritz Naczenski”)‍ Gibt es irgendwo eine Übersicht was man bei einem Deployment alles aufspielen muss? Das würde sicher helfen. Also z.B. angenommen ich möchte mein eigenes Theme deployen.

Viele Grüße
Michael

In diesem Fall musste ja der PR in den Shopware Code gemerged werden weil sonst ein kritisches Plugin für einen Kunden nicht verwendbar gewesen wäre.

Und der Kunde hatte nur einen Webspace. Ist also unpraktisch da extra einen Development Server aufsetzen zu müssen.

Vorallem weil ich eventuell nicht einfach aus dem git developen kann weil es dann evtl. nicht zusammenpasst mit der vom Kunden installieren Shopware Version.

Das Builden der Storefront und der Administration erledige ich lokal.
Dafür habe ich das DeveloperTemplate installiert…

 

Ich wollte unsere Zahlungsmodule ganz einfach Integrieren.

Warum erstellt man eigentlich Module die man so kompliziert Aktivieren muss.
Ich versuche seit mehr als 48Std. das ganze zum Laufen zu bekommen

Stellen Sie sicher, dass NPM und NODE.js auf Ihrem Server installiert sind bevor die Scripts ausgeführt werden.
Zusätzlich wird eine SFTP Verbindung zu Ihrem Server benötigt.

Gibt es hierfür kein anderer weg?

Nachdem Sie das Plugin installiert und aktiviert haben, müssen folgende Scripts auf dem Server ausgeführt werden:

  • ./bin/build-administration.sh
  • ./bin/build-storefront.sh

Wenn diese Scripts nicht ausgeführt werden wird der Bestellprozess beeinträchtigt und gewisse Funktionen sind nicht
verfügbar.

Nachdem Sie diese Scripts ausgeführt haben muss zusätzlich noch folgender Script ausgeführt werden:

  • ./bin/console theme:compile

Dieser Script ist nötig damit das CSS und JavaScript korrekt injected wird.

Falls es sich Ihr Store noch in der Entwicklung befindet kann es sein, dass der “bin” Ordner noch nich existiert. In diesem Fall müssen zusätzlich noch folgende Scripts ausgeführt werden:

  • ./psh.phar storefront:build
  • ./psh.phar administration:build

Tragen Sie hier nun die nötigen Parameter in dieHauptkonfiguration des Plugins (Store Settings) ein.

Freundliche Grüsse

1 „Gefällt mir“

Tja, Node, Docker und Webpack ist halt voll modern und so. Wen kümmerts da schon dass es ziemlich unpraktisch und für nicht-Entwickler unverständlich ist?

1 „Gefällt mir“