Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Upgrading Node on an Azure website?

I'm trying to run some pre deployment tasks (unit tests etc) with NPM on an Azure website, however the version of node on the VM is v0.10.32, the current version of node is v4.2.4.

I have non administrative access to the command line via the SCM website, no RDP etc.

Is there any way to upgrade?

like image 227
JMK Avatar asked Jan 12 '16 14:01

JMK


People also ask

How do I install NPM on my Azure Web App?

Run npm install without any flags, which includes npm preinstall and postinstall scripts and also installs devDependencies . Run npm run build if a build script is specified in your package. json. Run npm run build:azure if a build:azure script is specified in your package.


3 Answers

Ensure the Azure Web App has the node version you want.

  1. Go to yoursite.scm.azurewebsites.net
  2. Choose Debug Console (PowerShell or CMD)
  3. Navigate to D:\Program Files (x86)\nodejs
  4. Run dir to see the available nodejs versions.

For instance, if there is a directory named 6.3.0, then you can use it.

// App Setting WEBSITE_NODE_DEFAULT_VERSION 6.3.0    // package.json engines":{"node": "6.3.0"} 
like image 181
Shaun Luttin Avatar answered Oct 08 '22 23:10

Shaun Luttin


You can specify the version of node that the app is running on using the package.json file. Add:

"engines":{"node":version}

e.g.:

"engines":{"node": "0.12.x"}, 

More info: https://azure.microsoft.com/en-us/documentation/articles/nodejs-specify-node-version-azure-apps/

like image 37
Martin Beeby Avatar answered Oct 09 '22 01:10

Martin Beeby


2017 update. All above didn't work for me in.

I changed:

// package.json
engines":{"node": "8.0.0"}

and then I added app settings value

<appSettings>
    <add key="WEBSITE_NODE_DEFAULT_VERSION" value="8.0.0" />
</appSettings>

I restarted an app million times, and the solution was to change iisnode.yml

nodeProcessCommandLine: "D:\Program Files (x86)\nodejs\8.0.0\node.exe"

That's it. I hope it will help someone.

Update

Just to clarify things: I'm talking about App Service App Service Image

And if you ftp to your App you will see iisnode.yml here:

iisnode.yml on ftp

like image 24
Pavel Kovalev Avatar answered Oct 09 '22 00:10

Pavel Kovalev