node app läuft nicht

  • Hallo Forum,

    ich suche Hilfe:

    meine node App läuft auf meinem Pc einwandfrei. Ich habe auf dem Server und bei localhost dieselbe node-Version und dieselbe nmp-Version. Ich bekommen immer die Fehlermeldung (s.u.) über passenger. Das Protokoll sagt:

    2022-03-21 20:31:35 Error 2a02:908:2a43:9aa0:29c8:db07:74da:f23a 500 GET / HTTP/1.0 [Blocked Image: https://ae83d.webhosting.systems/theme-skins/netcup-wcp/icons/16/plesk/log-browser-client.png?1645688560] 244 K SSL/TLS-Zugriff für Apache

    Ich freue mich über Hilfe und Ideen. Vielleicht gibt es auch noch einmal einen link über die Installation eine node-Anwendung auf netcup.

    LG EckiHag

    Code
    /usr/share/passenger/helper-scripts/node-loader.js:80
    	return originalRequire.apply(this, arguments);                        ^
    
    Error [ERR_REQUIRE_ESM]: require() of ES Module /var/www/vhosts/hosting166957.ae83d.netcup.net/haggipapi.de/index.js from /usr/share/passenger/helper-scripts/node-loader.js not supported.
    Instead change the require of index.js in /usr/share/passenger/helper-scripts/node-loader.js to a dynamic import() which is available in all CommonJS modules.    at Module.require (/usr/share/passenger/helper-scripts/node-loader.js:80:25)    at loadApplication (/usr/share/passenger/helper-scripts/node-loader.js:243:2)    at setupEnvironment (/usr/share/passenger/helper-scripts/node-loader.js:214:2)    at Object.<anonymous> (/usr/share/passenger/helper-scripts/node-loader.js:133:1) {  code: 'ERR_REQUIRE_ESM'
    }
    
    Node.js v17.7.2

    Hier meine package.json:


    {
      "name": "node-buch",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "type": "module",
      "module": "commonjs",
      "scripts": {
        "start": "node index.js"
    },
      "keywords": [],
      "author": "",
      "license": "ISC",
      "dependencies": {
        "express": "^4.17.1",
        "morgan": "^1.10.0",
        "mysql2": "^2.2.5",
        "pug": "^3.0.2"
    }
    }

  • Zur Ergänzung:

    ich habe natürlich alle Fehlermeldungen gegoogelt, aber nichts gefunden.

    Ich vermute, dass der Fehler etwas mit types: modules zu tun hat, als ob die nicht geladen werden, oder die Angabe der Versionsnummer nicht stimmt. Dann würde eine alte Version von nodes laufen, aber nicht die Angegebene (v17.7.2)!

  • Moin,

    ich habe absolut keine Ahnung von Node, aber es klingt als ob du irgend ein modul laden möchtest für das die permissions fehlen. Meistens kann man das umgehen indem man die module lokal speicher und von dort lädt.


    Code
    Error [ERR_REQUIRE_ESM]: require() of ES Module 

    Wenn man das googelt kommen viele Lösungen.

  • ich habe natürlich alle Fehlermeldungen gegoogelt, aber nichts gefunden.

    Hm… Mit der Ausgabe aus Zeile 4 (nach Entfernung der installationsspezifischen Pfade, versteht sich) findet man doch massig Fundstellen mit dieser Fehlermeldung? Da gab es keinerlei Hilfestellung?

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE

    Edited once, last by m_ueberall ().

  • Bekomme den selben Fehler, laut Ausgabe wird bei mir Node in der Version 8.5.5 auf dem Server verwendet, statt wie eingestellt Version 14 o. 16.

    Hi,


    das riecht mir sehr stark danach, dass Du an dieser Stelle möglicherweise die npm Version mit der node.js Version verwechselst. Warum ich das glaube ? Geh mal auf diesen Link (der zeigt die Liste aller Node.js Releases): https://nodejs.org/en/download/releases/


    Wenn Du nun ganz unten, bei den kleinen Seitenzahlen auf die 2 klickst (Seite 2 also), dann siehst Du dass Node.js 17.8.0 den npm Paketmanager in der Version 8.5.5 mitbringt.


    Erklärung: node.js ist die Laufzeitumgebung. Und npm ist der Paketmanager, der mit node.js mitgeliefert wird. Zum Beispiel zeigt Dir auf einem Terminal ein node —version die Node.js Version an (z.B. 17.8.0). Ein npm —version zeigt Dir die npm Version an (z.B. 8.5.5). Hinweis: Der langgezogene Strich in den hervorgehobenen Terminal Kommandos ist ein doppelter Bindestrich, aber dieses Forumtool macht daraus einen einzelnen langen Strich. :(


    Zum eigentlichen Thema kann ich jedoch nichts sagen.

    There are only 10 types of people: Those who understand binary and those who don't.

    Edited 14 times, last by MB17 ().

    Like 1