azure-functions-host: Node version cannot be changed in Linux Function App

  • Function type: Hosted Linux Function App (not Docker)
  • Function App version: 2.0.00001.0 (beta)
  • Region: East US

Repro steps

  1. Create a Linux Function App and JavaScript TimerTrigger function from the Azure Portal.
  2. Change WEBSITE_NODE_DEFAULT_VERSION to a different value such as 8.0.0, 8.1.0, or 10.1.0 and hit Save.

ss1

Expected behavior

Function should run in specified version of Node.

Actual behavior

Function is executed in Node v. 6.11.0 as confirmed by the function failing on an async method (not supported in Node v. 6.x.x) and by running node -v in the console.

ss2

This works in Windows Functions but not Linux Functions. This is a big blocker for being able to use Linux Functions.

More investigation

Using the console, I am able to see that multiple versions of Node exist in /opt/nodejs, but Node 6.11 is on $PATH, and node symlink points to Node 6.11.0 despite updating Node version in App Settings.

ss4

Perhaps related: When digging into the settings, I can see that the container behind the Linux App has the correct Node version passed in at the time of docker run, but it is built on a deprecated Azure Functions base image (https://hub.docker.com/r/microsoft/azure-functions-runtime/).

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 1
  • Comments: 18 (9 by maintainers)

Most upvoted comments

We do not intend to support app setting WEBSITE_NODE_DEFAULT_VERSION for linux Apps. Please do open doc issues. Thanks!