Startproblem des Frontends in der Entwicklungsumgebung

Hallo,

Ich wollte Gladys bei mir auf „dev“ aktualisieren und bekomme diesen Fehler, wenn ich das Frontend starten möchte:

 Build  [                    ] 0% (0.0s) compiling✖ ERROR TypeError: Cannot read properties of undefined (reading 'get')
✖ ERROR TypeError: Cannot read properties of undefined (reading 'get')
    at /opt/Gladys/front/node_modules/webpack/lib/DefinePlugin.js:313:38
    at SyncHook.eval [as call] (eval at create (/home/jp/.nvm/versions/node/v18.14.0/lib/node_modules/preact-cli/node_modules/tapable/lib/HookCodeFactory.js:19:10), <anonymous>:29:1)
    at SyncHook.lazyCompileHook (/home/jp/.nvm/versions/node/v18.14.0/lib/node_modules/preact-cli/node_modules/tapable/lib/Hook.js:154:20)
    at Compiler.newCompilation (/home/jp/.nvm/versions/node/v18.14.0/lib/node_modules/preact-cli/node_modules/webpack/lib/Compiler.js:631:26)
    at /home/jp/.nvm/versions/node/v18.14.0/lib/node_modules/preact-cli/node_modules/webpack/lib/Compiler.js:667:29
    at AsyncSeriesHook.eval [as callAsync] (eval at create (/home/jp/.nvm/versions/node/v18.14.0/lib/node_modules/preact-cli/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1)
    at AsyncSeriesHook.lazyCompileHook (/home/jp/.nvm/versions/node/v18.14.0/lib/node_modules/preact-cli/node_modules/tapable/lib/Hook.js:154:20)
    at Compiler.compile (/home/jp/.nvm/versions/node/v18.14.0/lib/node_modules/preact-cli/node_modules/webpack/lib/Compiler.js:662:28)
    at /home/jp/.nvm/versions/node/v18.14.0/lib/node_modules/preact-cli/node_modules/webpack/lib/Watching.js:77:18
    at AsyncSeriesHook.eval [as callAsync] (eval at create (/home/jp/.nvm/versions/node/v18.14.0/lib/node_modules/preact-cli/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:33:1)
    at AsyncSeriesHook.lazyCompileHook (/home/jp/.nvm/versions/node/v18.14.0/lib/node_modules/preact-cli/node_modules/tapable/lib/Hook.js:154:20)
    at Watching._go (/home/jp/.nvm/versions/node/v18.14.0/lib/node_modules/preact-cli/node_modules/webpack/lib/Watching.js:41:32)
    at /home/jp/.nvm/versions/node/v18.14.0/lib/node_modules/preact-cli/node_modules/webpack/lib/Watching.js:33:9
    at Compiler.readRecords (/home/jp/.nvm/versions/node/v18.14.0/lib/node_modules/preact-cli/node_modules/webpack/lib/Compiler.js:529:11)
    at new Watching (/home/jp/.nvm/versions/node/v18.14.0/lib/node_modules/preact-cli/node_modules/webpack/lib/Watching.js:30:17)
    at Compiler.watch (/home/jp/.nvm/versions/node/v18.14.0/lib/node_modules/preact-cli/node_modules/webpack/lib/Compiler.js:244:10)

Ich komme nicht weiter, ich schaffe es nicht :cry:

Hast du versucht, deine node_modules zu löschen und dann die Abhängigkeiten neu zu installieren?

Ja.

Also, ich habe es gerade auf einem brandneuen Klon versucht, da ich in meinem Branch Änderungen mitführe.
In Node v18 habe ich einen Fehler im Zusammenhang mit der Option NODE_OPTIONS=--openssl-legacy-provider, die nicht richtig zu funktionieren scheint. Beim Downgrade auf Node v16 und Entfernen der Option funktioniert es.

Ich habe einen Beitrag gesehen, in dem du, @pierre-gilles, erwähnt hast, dass das Frontend in v16 und das Backend in v18 ist, aber die package.json zeigt heute v18 an, also nehme ich an, dass man die 18.x verwenden sollte?

Ich bestätige, dass wir jetzt überall Node 18 haben, sowohl im Frontend als auch im Backend.

Was für einen Fehler hast du in Bezug auf die Option?

ERROR Error: error:0308010C:digital envelope routines::unsupported

Ich glaube, ich hatte das schon mal gelöst, aber ich weiß nicht mehr wie, bevor ich auf meinen anderen Fehler gestoßen bin :confused:

Ja, dieser Fehler wird normalerweise durch NODE_OPTIONS=--openssl-legacy-provider behoben. Du bist auf dem Master-Branch und dein package.json sieht so aus:

?

ja ja ich habe die Literatur zu diesem Fehler gelesen, ich bin traurig ^^

Auf welchem OS bist du? Ich gebe zu, ich bin auf macOS und Linux, ich habe es noch nie auf Windows getestet, vielleicht liegt das Problem daran.

Ubuntu 22.04

Um Gladys front zu starten, führst du npm start im Ordner front aus?

Ja, das mache ich.
Okay, ich muss los, ich erledige das heute Abend… Danke für die Schnelligkeit :slight_smile:

Schwer, dir ohne weitere Infos zu helfen :stuck_out_tongue:

Wir machen alle Builds auf dem CI mit Ubuntu 22.04, Node 18, und es läuft alles super (ich habe heute Morgen mehrere Builds gemacht), also würde mich ein Problem mit dem Repo wundern. Ich glaube, es liegt an deiner Konfiguration

  • Schau dir deine Umgebungsvariablen an
  • Starte von vorne (git clone des Repos gladys, npm install, npm start)

Also, ich bin von Node v18.14 auf 18.15 umgestiegen, keine OpenSSL-Fehler mehr und auch nicht bei Webpack.
Allerdings bin ich nicht mehr mit der npm-Version kompatibel.

Aber jetzt habe ich einen Fehler mit der Lib Tagify:

ERROR in ../node_modules/@yaireo/tagify/dist/tagify.min.js 305:13
Module parse failed: Unexpected token (305:13)
File was processed with these loaders:
 * ../node_modules/babel-loader/lib/index.js
 * ../node_modules/source-map-loader/dist/cjs.js
You may need an additional loader to handle the result of these loaders.
|         s = this.dropdown.getHeaderRef(),
|         a = this.dropdown.getFooterRef();
>       e && s?.parentNode.replaceChild(e, s), i && a?.parentNode.replaceChild(i, a);
|     },
|     refilter(t) {

Das ist schon seltsam, es sollte keine Unterschiede bei den kleineren Versionen von Node.js geben

Bei mir läuft Node v18.16 und es baut sich von alleine.

Ich habe es heute Morgen nochmal getestet, um sicherzugehen:

  • rm -rf node_modules
  • npm install
  • npm start

et alles installiert sich und läuft ohne Probleme.

Wie hast du Node.js installiert? Ich verwende persönlich Volta, um meine Node-Version zu verwalten: https://volta.sh/

Ich bin auf Node 18.16 und npm auf v8 umgestiegen, weil ich bei v9 eine Warnung hatte. Ich habe Volta versucht, ich habe nvm verwendet.
Aber nichts hilft, ich habe immer noch den Fehler :cry:

Viel Glück :smiley: Es ist schwer, dir ohne Informationen zu helfen.

Es muss etwas in deiner Installation anders sein, denn im CI ist ein frisches Ubuntu 22.04, Node frisch installiert, und alles funktioniert

Bei mir lokal genauso…

Bei mir zu Hause habe ich überall 22.04 und ich habe das Problem nicht

Na ja, ich habe es irgendwie geschafft, ohne alles zu verstehen …

Ich musste diese 2 Loader für Babel hinzufügen:

@babel/plugin-proposal-optional-chaining')
@babel/plugin-proposal-nullish-coalescing-operator')

Ich musste auch die Installation von sirv-cli erzwingen

Trotzdem bestätige ich, dass ich das auf meinem Laptop nicht tun musste, nur auf meinem Server musste ich das tun … ich verstehe das nicht …