Hallo zusammen
Ich setze gerade eine neue Shopware development Umgebung auf (Ubuntu 22.04). Dabei stecke ich fest beim ./psh.phar install Schritt.
Folgendes:
Bei Schritt 32/46 npm clean-install --prefix vendor/shopware/platform/src/Administration/Resources/app/administration
Da ich die Vorraussetzungen für die unterstützten Node und Npm Versionen erfülle frage ich warum die installation trotzdem nicht funktioniert.
Soll ich Node 19.3.0 installieren? Übersehe ich da etwas?
Browserslist: caniuse-lite is outdated. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: https://github.com/browserslist/update-db#readme
node:internal/crypto/hash:71
this[kHandle] = new _Hash(algorithm, xofLen);
^
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at module.exports (/app/vendor/shopware/platform/src/Administration/Resources/app/administration/node_modules/webpack/lib/util/createHash.js:135:53)
at NormalModule._initBuildHash (/app/vendor/shopware/platform/src/Administration/Resources/app/administration/node_modules/webpack/lib/NormalModule.js:417:16)
at handleParseError (/app/vendor/shopware/platform/src/Administration/Resources/app/administration/node_modules/webpack/lib/NormalModule.js:471:10)
at /app/vendor/shopware/platform/src/Administration/Resources/app/administration/node_modules/webpack/lib/NormalModule.js:503:5
at /app/vendor/shopware/platform/src/Administration/Resources/app/administration/node_modules/webpack/lib/NormalModule.js:358:12
at /app/vendor/shopware/platform/src/Administration/Resources/app/administration/node_modules/loader-runner/lib/LoaderRunner.js:373:3
at iterateNormalLoaders (/app/vendor/shopware/platform/src/Administration/Resources/app/administration/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
at iterateNormalLoaders (/app/vendor/shopware/platform/src/Administration/Resources/app/administration/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
at /app/vendor/shopware/platform/src/Administration/Resources/app/administration/node_modules/loader-runner/lib/LoaderRunner.js:236:3
at context.callback (/app/vendor/shopware/platform/src/Administration/Resources/app/administration/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
at /app/vendor/shopware/platform/src/Administration/Resources/app/administration/node_modules/babel-loader/lib/index.js:59:71 {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
Node.js v18.12.1
Execution aborted, a subcommand failed!
Nach dem Testen mit jeglichen Node Versionen komme ich immer wieder auf das hier zurück. Unglaublich mühsam. Kann mir jemand weiterhelfen?
Also ich habe mehr mit den Versionen gespielt. Folgendes:
im Ordner dev-ops/docker/containers/app
befindet sich ein Dockerfile
in dem File ungefähr Zeile 14 IMAGE_NODE_VERSION=16
→ Installiert Node 16.19 mit Npm 8.19.3
Zahlreiche…
npm WARN old Lockfile oder npm WARN depricated blabla
…später funktioniert dann endlich die Installation.
An die Shopware devs: Warum steht im Dockerfile IMAGE_NODE_VERSION=18 wenn das garnicht kompatibel ist?
Stoße mit der Version 6.4.20.2 und NodeJs Version 20 auf das selbe Problem:
Die Lösung in meinem Falle (Entwicklungsumgebung) war folgendes im Terminal aufzurufen:
Habe dasselbe Problem aber mit Node 18.16.1 und SPW 6.4.20.2
export NODE_OPTIONS=-openssl-legacy-provider hat bei mir nix gebracht.
Shopware 6 Storefront █████████████████████████ building (10%) 0/1 modules 1 active
babel-loader › src/main.js
node:internal/crypto/hash:71
this[kHandle] = new _Hash(algorithm, xofLen);
^
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at module.exports (/var/www/html/vendor/shopware/storefront/Resources/app/storefront/node_modules/webpack/lib/util/createHash.js:135:53)
at NormalModule._initBuildHash (/var/www/html/vendor/shopware/storefront/Resources/app/storefront/node_modules/webpack/lib/NormalModule.js:412:16)
at /var/www/html/vendor/shopware/storefront/Resources/app/storefront/node_modules/webpack/lib/NormalModule.js:444:10
at /var/www/html/vendor/shopware/storefront/Resources/app/storefront/node_modules/webpack/lib/NormalModule.js:320:13
at /var/www/html/vendor/shopware/storefront/Resources/app/storefront/node_modules/loader-runner/lib/LoaderRunner.js:367:11
at /var/www/html/vendor/shopware/storefront/Resources/app/storefront/node_modules/loader-runner/lib/LoaderRunner.js:233:18
at context.callback (/var/www/html/vendor/shopware/storefront/Resources/app/storefront/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
at /var/www/html/vendor/shopware/storefront/Resources/app/storefront/node_modules/babel-loader/lib/index.js:55:103 {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
$Node.js v18.16.1
Hallo @Raphael-Boos
Sieht so aus als gäbe es ein Problem mit der Node SSL Bibliothek. Welche NPM Version hast du?
Falls es nicht an dem liegt. Würde ich, wie bei meiner obigen Lösung, ein Node.js Downgrade (Auf 16) empfehlen.
danke für Deine Rückmeldung - ich habe
$ node -v v18.16.1
$ npm -v 9.5.1
Laut Shopware Doku wäre ja ein Downgrade nicht sinnvoll, es wäre entgegen den Systemanforderungen.
Denn die Version Requirements sind bei SPW 6.4.20.0 - 6.4.20.2 auf Node/Nodejs 18 angehoben worden.
Die 6.4er Versionen kleiner 6.4.20.0 brauchen nur Node 12-16.
Ich habe unabhängig davon mal ein Ticket bei Shopware geöffnet und hoffe dass hier Feedback dazu kommt.
Hallo @NIckJ, Antwort vom Support - Node Version 16 verwenden entgegen den Version Requirements, da die verwendete Webpack inkompatibel mit Node 18 ist.