【发布时间】:2017-11-20 08:59:06
【问题描述】:
在我的节点 js Web 应用程序中,我使用节点版本 = 6.9.1:
"engines": {
"node": "6.9.1"
}
当我进行部署时
git push azure master
它表明使用了正确的节点。
...
remote: Selected node.js version 6.9.1. Use package.json file to choose a different version.
remote: Selected npm version 3.10.8
...
但由于 node.exe 崩溃,我的应用服务未正确启动。 后来我在我的入口点脚本中输出使用的节点版本号,我得到了
Node version:v0.6.20
来自文件 D:\home\LogFiles\Application\xxxx-stdout-xxxx.txt
很明显,Azure App 服务没有使用我定义的 node.exe 版本。
后来我关注https://docs.microsoft.com/en-us/azure/nodejs-specify-node-version-azure-apps
在文件 D:\home\site\wwwroot\iisnode.yml 中添加以下文本以解决此问题。
nodeProcessCommandLine: "D:\Program Files (x86)\nodejs\6.9.1\node.exe"
所以我的问题是为什么 Azure App Service (iisnode) 没有使用我在 package.json 中定义的节点版本?
【问题讨论】:
-
这很奇怪。在这种情况下,它应该自动创建 iisnode.yml。如果可以share a minimal repro,我去看看。
标签: azure azure-web-app-service iisnode