Node.js 如何在Linux主机上的Azure函数上运行节点v10.x?

Node.js 如何在Linux主机上的Azure函数上运行节点v10.x?,node.js,azure-functions,Node.js,Azure Functions,我一直在开发一个小功能,以便在Azure功能中自动更新证书 该函数在我的本地仿真器(vscode)中工作,在节点v10.15.3下运行 但是,当联机运行它时,包含它的文件将根据异步迭代器的语法生成一个exeption Stack: /home/site/wwwroot/node_modules/acme-dns-01-cloudflare/index.js:125 for await(const zone of consumePages(pagination =&

我一直在开发一个小功能,以便在Azure功能中自动更新证书

该函数在我的本地仿真器(vscode)中工作,在节点v10.15.3下运行

但是,当联机运行它时,包含它的文件将根据异步迭代器的语法生成一个exeption

Stack: /home/site/wwwroot/node_modules/acme-dns-01-cloudflare/index.js:125
                for await(const zone of consumePages(pagination =>
据我所知,node版本10.x中已经采用了这种语法。因此,我添加了控制台输出行:
console.log(process.versions)
并获得函数正在运行节点版本8.16.1的响应。因此,我检查了“网站\节点\默认\版本”应用程序设置,并确认其设置为10.14.1。我还使用另一个推荐设置~10进行了检查,得到了相同的结果

不幸的是,文档很难搜索到这样一个特定的问题,但我还没有遇到任何声明Linux功能仅限于节点v8.x的内容

作为额外信息,函数\u WORKER\u运行时设置为“node”,运行时版本为2.0.12733.0(~2)

请参考此项,看起来
网站\u node\u默认\u版本
不适用于linux函数,必须设置
LinuxFxVersion
属性以选择节点版本

下面是我改变它的流程

1.转到门户中的功能应用程序并打开。您将发现
LinuxFxVersion
node:2.0-node8-appservice

2.选择配置节点下的网站,然后选择编辑按钮。找到
linuxFxVersion
并将值更改为
节点| 10.14
,然后单击PUT按钮更新设置。然后重新启动函数,检查节点版本,您会发现它是10.14


在撰写本文时,github上的这个问题突出了这个问题。无论网站\节点\默认\版本中的设置如何,不同的节点版本在Linux消费计划中都不可用

希望他们的新安排能很快落实到其他有这个问题的人身上


现在,您可以切换到windows消费计划,或者可能切换到服务计划(我没有检查此项,因为它有点违背功能点)

如果这对您有帮助,请接受它作为答案。感谢您的回复。不幸的是,该值的更改不会持续,PUT操作成功,但不会更改该值。此外,我的现有值为空,不是您建议的值。我正在通过url从zip文件部署此应用程序,如果有区别,请使用vscode中的函数扩展。@Jamesmp,您是否使用了消费计划。目前,消费计划linux不支持升级版本,您必须等待Azure进行升级,如果您要使用它,您可以选择使用windows操作系统。我使用了,好的,谢谢你的帮助。遗憾的是,文档没有更好地用于此。最后我换上了windows主机。