gpt4 book ai didi

node.js - 我无法更改 Azure 中的 Node 版本

转载 作者:行者123 更新时间:2023-12-02 23:41:56 24 4
gpt4 key购买 nike

我在 Azure 上运行 Node 服务器,需要更改 Node 的默认版本,因为它是 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

这就是为什么我预计该应用程序将在 [email protected] 上运行但当我安慰 process.version 时,它仍然是 0.8.28。看起来该版本在部署结束时被默认版本覆盖。

此外,我尝试在配置中编辑 WEBSITE_NODE_DEFAULT_VERSION 变量(设置 > 配置 > WEBSITE_NODE_DEFAULT_VERSION),但无法保存,因为主机名不包含“azurewebsites.net”。

有什么方法可以指定 Node 版本或编辑WEBSITE_NODE_DEFAULT_VERSION吗?

最佳答案

Node Version for your app Kudu needs to know which version of node you want to run your app and deployment. It will try to find the version you want by following these steps. If not satisfied, goes to the next step:

  1. 如果里面有iisnode.yml和nodeProcessCommandLine属性:它将运行 Node 的确切路径。
  2. 如果您的 package.json 中有一个 "engines":{"node":version} 规范,Azure 将使用指定的版本
  3. 在 Azure 门户上的“应用程序设置”中,您已将 WEBSITE_NODE_DEFAULT_VERSION 设置为环境变量之一
  4. Azure 的默认 Node 版本。确切的版本会随着时间的推移而变化。

我认为 iisnode.yml 没有您需要的 Node 版本。创建 iisnode.yml 并包含以下行

nodeProcessCommandLine:“D:\Program Files (x86)\nodejs\8.9.4\node.exe”

更多详细信息请阅读此处:

关于node.js - 我无法更改 Azure 中的 Node 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59199065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com