Node.js Fehlermeldung: digital envelope routines::unsupported (0308010C)

Vorwort

Oft kommt es beim Kompilieren der Shopware Storefront (./bin/build-storefront.sh) zum Fehler: digital envelope routines::unsupported. Dieser wird durch ein Problem in der OpenSSL Library in Node.js verursacht. Wie Sie das Problem beheben können, zeigt Ihnen dieser Hilfecenter-Artikel.



Fehlermeldung

node:internal/crypto/hash:68
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:68:19)
    at Object.createHash (node:crypto:138:10)
    at module.exports 



Fehlerbehebung

Um den Fehler zu beheben, ist ein Zusatz im ~/.bash_profile notwendig, der die Legacy Versionen von OpenSSL ergänzt. Die Datei .bash_profile finden Sie hier im Heimverzeichnis des Benutzers.


Ergänzen Sie hier die Option:

export NODE_OPTIONS=--openssl-legacy-provider


Um die o.g. Anpassung in der Datei ~/.bash_profile korrekt anzuwenden, führen Sie einmal folgenden Befehl aus:

source ~/.bash_profile