在Azure Bot服务中指定Node.js版本似乎不起作用。
在Azure门户中,导航到bot服务实例,然后在应用程序设置中将环境变量WEBSITE_NODE_DEFAULT_VERSION
设置为7.7.4
,这是截至2017年5月22日可用的最高版本。然而事实证明node.js运行时仍然是v6.5.0
!
在Kudu - >环境显示:
WEBSITE_NODE_DEFAULT_VERSION = 7.7.4
和
Path = D:\home\site\deployments\tools;... D:\Program Files (x86)\nodejs\7.7.4;...
找不到此v6.5.0 node.js版本的设置位置。也许在IIS设置中?如果azure bot服务允许使用自定义的node.js版本而不是系统提供的滞后版本,那将是很好的。那么有修复或解决方法吗?感谢。
答案 0 :(得分:1)
目前Azure Bot服务(预览版)仅支持Node.js v6.5 LTS,并且不提供您所描述的任何高级版本配置选项。
请记住,当您使用Azure Bot服务(预览)创建机器人时,您正在创建Azure功能应用程序(在后台)。 Azure Functions将其Node.js版本锁定为v6.5 as described in their documentation.
节点版本目前锁定在6.5.0。我们正在研究增加对更多版本的支持并使其可配置。
如果您想安装并运行特定版本的Node.js,则需要设置VM并根据您的规范进行配置。
或者,您可以将SDK Bot(也称为不使用Azure功能)部署到Linux上的Azure应用服务(预览),这将允许您在v6.x LTS范围内选择Node.js版本,例如{ {1}} + npm v6.10.2
。在这种情况下,您必须在v3.10.10
"引擎"中指定特定的Node.js和npm版本。部分。您可以在我的博客文章中详细了解此选项:Deploying Bot Framework To Azure On Linux
答案 1 :(得分:0)
对于想要为他们的机器人自定义node.js版本的其他人,我找到了一种方法:使用Azure App Service而不是Azure Bot Service。方法如下:
启动Kudu Cmd控制台
cd D:\ home \ site \ wwwroot
md bin
cd bin
然后下载您喜欢的node.js版本,例如
curl -O http://nodejs.org/dist/latest/win-x64/node.exe
<iisnode watchedFiles="web.config;*.js"
nodeProcessCommandLine=""D:\home\site\wwwroot\bin\node.exe""
/>
按照上述步骤,您不再受锁定节点v6.5的限制,并可以根据需要使用最新的node.js功能。