首页 文章

Azure未使用正确版本的节点

提问于
浏览
1

我的项目无法在azure中安装 . 我怀疑Azure使用的是错误版本的节点并且正在死亡 .

我的设置:1)Azure门户,应用程序设置,添加 WEBSITE_NODE_DEFAULT_VERSION 8.9.1 2)另外,添加 "engines":{"node": "8.9.3"} ,到 package.json

当我从Azure门户中选择控制台时,开发工具:

node -v D:\ home \ site \ wwwroot v0.10.40

kudu页面 https://purple01.scm.azurewebsites.net/Env.cshtml 报告具有正确版本和非正确版本节点的路径 .

Path = D:\ Program Files(x86)\ SiteExtensions \ Kudu \ 70.10102.3204 \ bin \ NativeBinaries / amd64; D:\ home \ site \ deployments \ tools; D:\ Program Files(x86)\ SiteExtensions \ Kudu \ 70.10102.3204 \ bin \ Scripts; D:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin; D:\ Program Files(x86)\ Git \ cmd; D:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow; D:\ Program Files(x86)\ Microsoft SQL Server \ 110 \ Tools \ Binn; D:\ Program Files(x86)\ Microsoft SDKs \ F#\ 3.1 \ Framework \ v4.0 ; D:\ Program Files(x86)\ Git \ bin; D:\ Program Files(x86)\ Git \ usr \ bin; D:\ Program Files(x86)\ Git \ mingw32 \ bin; D:\ Program Files( x86)\ nodejs \ 0.10.28; D:\ Program Files(x86)\ npm \ 1.4.28; C:\ DWASFiles \ Sites#1purple01 \ AppData \ npm; D:\ Program Files(x86)\ bower \ 1.7 . 9; D:\ Program Files(x86)\ grunt \ 0.1.13; D:\ Program Files(x86)\ gulp \ 3.9.0.1; D:\ Program Files(x86)\ funcpack \ 0.2.2; D:\程序文件(x86)\ nodejs \ 8.9.1; D:\ Windows \ system32; D:\ Windows; D:\ Windows \ System32 \ Wbem; D:\ Windows \ System32 \ WindowsPowerShell \ v1.0 ; D:\程序文件( x86)\ Git \ cmd; D:\ Users \ Administrator \ AppData \ Local \ Microsoft \ WindowsApps ;; D:\ Program Files(x86)\ dotnet; D:\ Windows \ system32 \ config \ systemprofile \ AppData \ Local \ Microsoft \ WindowsApps; D:\ Program Files(x86)\ PHP \ v5.6; D:\ Python27;

报告的唯一错误是在ftp://waws-prod-sn1-053.ftp.azurewebsites.windows.net/LogFiles/Application/logging-errors.txt上找到的文件中

Sat Jan 13 2018 00:53:57 GMT+0000 (Coordinated Universal Time): Application has thrown an uncaught exception and is terminated:
SyntaxError: Use of const in strict mode.
    at Module._compile (module.js:434:25)
    at Object..js (module.js:464:10)
    at Module.load (module.js:353:31)
    at Function._load (module.js:311:12)
    at Module.require (module.js:359:17)
    at require (module.js:375:17)
    at Object.<anonymous> (D:\Program Files (x86)\iisnode\interceptor.js:459:1)
    at Module._compile (module.js:446:26)
    at Object..js (module.js:464:10)
    at Module.load (module.js:353:31)
Sat Jan 13 2018 02:17:45 GMT+0000 (Coordinated Universal Time): Application has thrown an uncaught exception and is terminated:
SyntaxError: Use of const in strict mode.
    at Module._compile (module.js:434:25)
    at Object..js (module.js:464:10)
    at Module.load (module.js:353:31)
    at Function._load (module.js:311:12)
    at Module.require (module.js:359:17)
    at require (module.js:375:17)
    at Object.<anonymous> (D:\Program Files\iisnode\interceptor.js:459:1)
    at Module._compile (module.js:446:26)
    at Object..js (module.js:464:10)
    at Module.load (module.js:353:31)

不确定此错误是我的代码失败还是Azure代码失败 . 我的代码确实使用了严格的和一些像promises这样的新东西 . 所以我需要一个当前版本的节点 .

有关Azure设置有什么问题的任何建议吗?

1 回答

  • 3

    App Service上没有安装Node 8.9.1 ,因此它默认为默认值(显然是 0.10.40 ) .

    您可以在此处查看可用(已安装)节点引擎的列表 - https://{sitename}.scm.azurewebsites.net/api/diagnostics/runtime

    更改 WEBSITE_NODE_DEFAULT_VERSION 以阅读 8.9.3 ,你应该是好的 .

    在Kudu用 node -v 测试:

    Kudu DebugConsole

    顺便说一下,你可以在这里查看日志流,不需要在问题上抛出FTP - https://{sitename}.scm.azurewebsites.net/api/logstream

    Azure门户中的Web应用程序下还有一个连接到同一 endpoints 的Log Stream刀片:

    enter image description here

相关问题