Sitecore JSS: Failed to start Node process

Featured image

JSS is Sitecore's answer to have the ability to offload your website from sitecore and run the website somewhere else. There are several ways to run the site, disconnected, connected and integrated.

JSS is a complete SDK for JavaScript developers that enables you to build full-fledged solutions using Sitecore and modern JavaScript UI libraries and frameworks. You can develop completely disconnected from Sitecore and even get your project started without a Sitecore install.

Running JSS integrated in Sitecore

During my exploration of JSS I also wanted to deploy my app to Sitecore and check if I could open the Experience Editor and edit the fields. For this I used the command jss deploy app --includeContent --includeDictionary. After checking the Content Editor I actually had the node I expected:

From there I opened the Expecience Editor but got the following message:

Error Rendering Sitecore.JavaScriptServices.ViewEngine.Presentation.JsLayoutRenderer: Failed to start Node process. To resolve this:. [1] Ensure that Node.js is installed and can be found in one of the PATH directories. Current PATH enviroment variable is: C:\Users\garyw\AppData\Roaming\nvm;C:\Program Files\nodejs; Make sure the Node executable is in one of those directories, or update your PATH. [2] See the InnerException for further details of the cause.
at
Sitecore.JavaScriptServices.ViewEngine.NodeServices.HostingModels
.OutOfProcessNodeInstance.LaunchNodeProcess(ProcessStartInfo startInfo)

Checking versions: NVM and JSS

So what's going on? I have:

Fixing NVM NodeJS issue in IIS

Our site and also Sitecore is running in IIS (Internet Information Server) which means under a different user context. By default NVM is not installed globally but in C:\Users\username\AppData\Roaming\nvm. The application pool account is not allowed to execute the NodeJS executable.

Adding everyone to the NVM folder will result in a working Experience Editor