当我部署到Azure WebSite时,节点运行时正确使用package.json中的Nodejs I config,但是部署脚本在服务器的路径上使用节点和NPM。 (服务器路径混乱并且路径中都有节点版本。)
实施例。我想要nodejs 4.2.1和NPM> 2
当我部署应用程序时,它使用0.10.x和NPM 1.x.x.我的rxjs模块需要NPM> 2因此无法加载。
如果我部署避免包,我可以看到运行正确的运行时。
有没有办法解决这个问题?
答案 0 :(得分:3)
您只需在Azure manage portal中自定义nodejs版本。
在您网站门户的 CONFIGUE 标签中,在 APP设置部分下,将nodejs版本设置为WEBSITE_NODE_DEFAULT_VERSION
到0.10.32
Azure默认情况下,我们可以直接将其值更改为您想要的4.2.1
。
修改站点设置后,单击底部导航栏上的重新启动按钮。
登录您的KUDU控制台站点,您可以检查cmdlet中的nodejs版本。(站点URL应为:https://{your site name}.scm.azurewebsites.net/DebugConsole
)
修改后,nodejs版本为4.2.1,npm版本为3.3.9。
您可以在Specifying a Node.js version in an Azure application获取更多信息。
答案 1 :(得分:0)
在各种来源上还有至少two other mentions声称可以通过package.js设置:
"engines": {
"node": ">= 8.2.0 || 8.x.x",
"npm": ">= 5.3.0 || 5.x.x"
},
或者通过站点目录root中的iisnode.yaml文件。由于您只能在应用程序的运行期间正确地告知节点版本,因此很难发现哪一个技巧。