Freigeben über

Node version mismatch when running npm programmatically on Azure App Service, but works manually

Shaan Muhammad 0 Zuverlässigkeitspunkte
2025-10-05T12:36:15.7833333+00:00

I am facing a confusing issue while trying to run npm commands programmatically in a React project deployed to Azure App Service.

What works: Running npm commands locally via my Node.js script works perfectly. After deployment, if I log into Azure App Service using PowerShell and run the npm commands manually in the project folder, everything works fine.

What doesn’t work: When I try to run npm commands programmatically on Azure App Service, I get errors indicating an old Node.js version is being used. The error log shows something like:

node -v v0.6.20
npm -v 1.1.37
Error: 11544:error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

What I’ve checked: Node.js version on App Service is updated to a modern version (v22.x). Manual commands in PowerShell on the App Service project folder work fine, using the correct Node version. I also have tried to give node latest version path forcefully.

Goal: I want to run npm commands programmatically as part of an automated end-to-end deployment process on Azure App Service.

If anyone has encountered a similar issue, I would greatly appreciate any guidance or solutions

Azure App Service
Azure App Service
Azure App Service ist ein Dienst, der zur Erstellung und Bereitstellung von skalierbaren, unternehmenskritischen Web-Apps verwendet wird.
{count} Stimmen

1 Antwort

Sortieren nach: Am hilfreichsten
  1. Praneeth Maddali 4,765 Zuverlässigkeitspunkte Externe Microsoft-Mitarbeiter Moderator
    2025-10-09T01:28:14.7666667+00:00

    Hallo @Shaan Muhammad

    Vielen Dank für Ihre Frage im Microsoft Q&A. Bitte entschuldigen Sie etwaige Grammatikfehler in meiner Antwort, da ich sie vom Englischen in Ihre Sprache übersetzt habe.

    Vielen Dank, dass Sie sich bezüglich des Problems der Node.js-Versionskonflikte bei der programmgesteuerten Ausführung von npm im Azure App Service an uns gewandt haben. Dies liegt in der Regel daran, dass sich die Umgebung für die programmgesteuerte Ausführung von manuellen Sitzungen unterscheidet. Während manuelle Befehle die richtige Node.js-Version (z. B. v22.x) verwenden, können programmgesteuerte Skripts aufgrund von Unterschieden in PATH oder Umgebungsvariablen standardmäßig auf eine ältere Systemversion zurückgreifen.

    1. Legen Sie aus Konsistenzgründen die App-Einstellung WEBSITE_NODE_DEFAULT_VERSION im Azure App Service auf die erforderliche Node.js-Version fest (z. B. 22-lts).
    2. ⁠Verwenden Sie in Ihren npm-Skripten den vollständigen Pfad zur gewünschten ausführbaren Node.js-Datei, um die Verwendung veralteter Versionen zu vermeiden.
    3. ⁠Stellen Sie sicher, dass Umgebungsvariablen wie PATH das moderne Node.js-Verzeichnis vor allen Systemverzeichnissen in der Umgebung Ihres Skripts enthalten.
    4. ⁠Starten Sie Azure App Service nach diesen Änderungen neu, damit die aktualisierten Umgebungsvariablen wirksam werden.

    reference:

    https://learn.microsoft.com/de-de/azure/app-service/configure-language-nodejs?pivots=platform-linux

    https://learn.microsoft.com/de-de/azure/app-service/configure-language-nodejs?pivots=platform-windows

    Wenn das Problem weiterhin besteht, geben Sie uns bitte die folgenden Angaben, damit wir Ihnen besser helfen können.

    1. Betriebssystem: Wird Ihr Azure App Service unter Windows oder Linux gehostet?
    2. Ausführungskontext: Führen Sie den npm-Befehl über ein Startskript, einen Deployment-Hook oder einen benutzerdefinierten Endpunkt aus?
    3. Node.js-Konfiguration: Haben Sie WEBSITE_NODE_DEFAULT_VERSION in Ihren App Service-Einstellungen festgelegt? Falls ja, welche Version?
    4. Fehlerprotokolle: Bitte teilen Sie uns das vollständige Fehlerprotokoll oder den Stacktrace des npm-Fehlers mit.
    5. Bereitstellungsmethode: Verwenden Sie eine CI/CD-Pipeline (z. B. GitHub Actions oder Azure DevOps) oder eine andere Methode zur Bereitstellung Ihrer App.

    Teilen Sie uns bitte mit, ob Ihnen die oben genannten Informationen weiterhelfen oder ob Sie weitere Unterstützung benötigen.

    Bitte bewerten Sie uns positiv, wenn Ihnen die Informationen geholfen haben. Dies hilft uns und anderen in der Community.

    0 Kommentare Keine Kommentare

Ihre Antwort

Antworten können von Fragestellenden als „Angenommen“ und von Moderierenden als „Empfohlen“ gekennzeichnet werden, wodurch Benutzende wissen, dass diese Antwort das Problem des Fragestellenden gelöst hat.