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
- Create a Linux Function App and JavaScript TimerTrigger function from the Azure Portal.
- Change WEBSITE_NODE_DEFAULT_VERSION to a different value such as 8.0.0, 8.1.0, or 10.1.0 and hit Save.
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.
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.
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)
We do not intend to support app setting
WEBSITE_NODE_DEFAULT_VERSION
for linux Apps. Please do open doc issues. Thanks!