Azure的节点部署使用错误的节点和NPM

时间:2015-11-12 21:49:02

标签: node.js azure deployment npm

当我部署到Azure WebSite时,节点运行时正确使用package.json中的Nodejs I config,但是部署脚本在服务器的路径上使用节点和NPM。 (服务器路径混乱并且路径中都有节点版本。)

实施例。我想要nodejs 4.2.1和NPM> 2

当我部署应用程序时,它使用0.10.x和NPM 1.x.x.我的rxjs模块需要NPM> 2因此无法加载。

如果我部署避免包,我可以看到运行正确的运行时。

有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:3)

您只需在Azure manage portal中自定义nodejs版本。

在您网站门户的 CONFIGUE 标签中,在 APP设置部分下,将nodejs版本设置为WEBSITE_NODE_DEFAULT_VERSION0.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文件。由于您只能在应用程序的运行期间正确地告知节点版本,因此很难发现哪一个技巧。