Entwicklungsumgebung - SAP CAP in SAP PRESS

Anwendungsentwicklung auf der SAP Cloud Platform
Zusatzinformationen zum Buch
Direkt zum Seiteninhalt
Problembehandlung
Problembehandlung
Installieren von npm-Paketen schlägt fehlt
Nach der Eingabe von npm install bricht die Installation nach einiger Zeit mit einer Fehlermeldungen ab. Führen Sie folgende Prüfungen durch.
  • npm-Registry prüfen: Prüfen Sie die Konfiguration des npm-Paketmanagers, ob dort die korrekte npm-Registry eingetragen ist. Geben Sie dazu das Kommando npm config ls in ein Terminal ein. In der Ausgabe sollte der Eintrag registry = "https://registry.npmjs.org/" sichtbar sein. Ist dies nicht der Fall, geben Sie das Kommando npm config set registry https://registry.npmjs.org/ ein.
  • Wird ein Proxy verwendet? Unternehmensnetzwerke kommunizieren oft über ein Proxy mit der Außenwelt. Fragen Sie Ihre Netzwerkadministratoren, ob dies der Fall ist. Der npm-Paketmanager muss entsprechend konfiguriert werden, um den Proxy kontaktieren zu können. Nutzen Sie dazu die Kommandos npm config set proxy http://proxy.xyz.abc:port und npm config set https-proxy http://proxy.xyz.abc:port. Die Proxyadresse und den Port erhalten Sie dabei von Ihrem Netzwerkadministrator bzw. Ihrer Netzwerkadministratorin. Probleme können auch durch fehlende Zertifikate verursacht werden. Probieren Sie in diesem Fall das Kommando npm set strict-ssl false. Verlangt der Proxy eine Autorisierung, so nutzen Sie die Variante npm config set proxy http://user:passwort@proxy.xyz.abc:port.
  • Nutzen Sie noch die "alte" SAP npm-Registry? SAP-Pakete für npm im Namensraum @sap wurden früher auf der SAP-eigenen npm-Registry npm.sap.com angeboten. Diese Pakete wurden in die öffentliche Registry registry.npmjs.org übertragen. Geben Sie das Kommando npm ls config ein und prüfen Sie, ob die Registry npm.sap.com noch eingetragen ist. Ist dies der Fall, so entfernen Sie den Eintrag durch das Kommando npm config delete "@sap/registry".
  • Fehlende Berechtigungen für Mac/Linux. Wenn Sie Fehlermeldungen wie Error: EACCES: permission denied erhalten und wenn Sie das Mac OS oder Linux-Betriebssystem nutzen, befolgen Sie die Lösungsvorschläge auf http://s-prs.de/v765146.
  • Fehlende Umgebungsvariablen unter Windows. Globale npm-Installationen werden in dem benutzerspezifischen Verzeichnis C:\Users\<Benutzername>\AppData\Roaming\npm abgelegt (die Laufwerksbezeichnung kann abweichen). Tragen Sie dieses Verzeichnis in die Umgebungsvariable PATH des Windows-Betriebssystems ein. Setzen Sie zusätzlich die Umgebungsvariable NODE_PATH auf den Wert C:\Users\<Benutzername>\AppData\Roaming\npm\node_modules.

Debugging
  • "Cannot find module '@sap/cds'". Sie starten die Debug-Konfiguration cds run. In der Debug-Konsole von Visual Studio Code sehen Sie die Fehlermeldung Error: Cannot find module '@sap/cds'. Dies geschieht, wenn Sie keine Projektabhängigkeiten in den Ordner node_modules/ installiert haben. Prüfen Sie, ob dieser Ordner vorhanden ist. Falls nicht, führen Sie das Kommando npm install aus und starten dann den Debug-Prozess erneut.

HTTP-Requests
  • "Error while deserializing payload". Nach einem HTTP-Request erhalten Sie die Fehlermeldung Error while deserializing payload; consider using parameter IEEE754Compatible=true in content-type with adjusted formatting. An error occurred during deserialization of the entity. A JSON number is not supported as Edm.Decimal value. Die Ursache ist, dass Sie ein Datenfeld vom CDS-Typ Decimal anlegen oder ändern wollen. JavaScript kennt allerdings, im Gegensatz zu CDS und OData, keinen nativen Datentyp Decimal. Zur Problembehebung nehmen Sie die Einstellung IEEE754Compatible=true in den Request Header auf.
       
Zurück zum Seiteninhalt