我正在Azure上运行节点服务器,由于它是0.8.28,因此需要更改节点的默认版本,或为应用程序设置特定版本。
我第一次想到可以使用部署文件(deploy.cmd)和package.json来指定版本,如下所示;
deploy.cmd
:: Force use of the latest NPM
SET NPM_JS_PATH=%ProgramFiles(x86)%\npm\6.12.0\node_modules\npm\bin\npm-cli.js
SET NODE_PATH=%ProgramFiles(x86)%\nodejs\8.9.4\node.exe
package.json
"engines": {
"node": "8.9.4",
"npm": "6.12.0"
},
部署该应用程序时,它显示已设置指定的版本。
2019-12-05T15:36:17 Selected node.js version 8.9.4. Use package.json file to choose a different version.
2019-12-05T15:36:17 Selected npm version 6.12.0
2019-12-05T15:36:17 Updating iisnode.yml at D:\home\site\wwwroot\App_Data\config\scripts\iisnode.yml
这就是为什么我期望该应用程序将在node@8.9.4上运行,但是当我控制台 process.version 时,它仍然是0.8.28。 部署结束时,该版本看起来像是默认版本的覆盖。
此外,我尝试在“配置”(“设置”>“配置”>“ WEBSITE_NODE_DEFAULT_VERSION”)中编辑WEBSITE_NODE_DEFAULT_VERSION变量,但由于主机名不包含“ azurewebsites.net”,所以无法保存。
是否可以指定节点版本或编辑WEBSITE_NODE_DEFAULT_VERSION?
答案 0 :(得分:0)
您的应用程序的节点版本 Kudu需要知道您要运行应用程序和部署的节点版本。它将按照以下步骤尝试找到所需的版本。如果不满意,请转到下一步:
我认为iisnode.yml
没有您需要的节点版本。创建iisnode.yml并在下面添加
nodeProcessCommandLine: "D:\Program Files (x86)\nodejs\8.9.4\node.exe"
更多详细信息,请点击此处