无法在Azure Web App上安装StackImpact

时间:2018-12-03 23:57:21

标签: node.js azure npm azure-web-sites

我无法在我的两个Azure Web Apps(基于Windows的运行Kudu)上安装NodeJs性能监视器“ StackImpact”。在Windows 10笔记本电脑上本地都可以正常运行,但是服务器上的NPM安装失败(以下输出)

我尝试升级到Node 10.6(Azure支持的最新版本),然后降级到Node 8.11.1。我再次检查了计算机是否以64位运行。

... 89 verbose stack Error: stackimpact@1.3.10 install: `node node-gyp-fallback.js` 89 verbose stack Exit status 1 89 verbose stack at EventEmitter.<anonymous> (D:\Program Files (x86)\npm\6.1.0\node_modules\npm\node_modules\npm-lifecycle\index.js:304:16) 89 verbose stack at EventEmitter.emit (events.js:182:13) 89 verbose stack at ChildProcess.<anonymous> (D:\Program Files (x86)\npm\6.1.0\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14) 89 verbose stack at ChildProcess.emit (events.js:182:13) 89 verbose stack at maybeClose (internal/child_process.js:961:16) 89 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:5) 90 verbose pkgid stackimpact@1.3.10 91 verbose cwd D:\home\site\wwwroot 92 verbose Windows_NT 10.0.14393 93 verbose argv "D:\\Program Files (x86)\\nodejs\\10.6.0\\node.exe" "D:\\Program Files (x86)\\npm\\6.1.0\\node_modules\\npm\\bin\\npm-cli.js" "install" "stackimpact" 94 verbose node v10.6.0 95 verbose npm v6.1.0 96 error code ELIFECYCLE 97 error errno 1 98 error stackimpact@1.3.10 install: `node node-gyp-fallback.js` 98 error Exit status 1 99 error Failed at the stackimpact@1.3.10 install script. 99 error This is probably not a problem with npm. There is likely additional logging output above. 100 verbose exit [ 1, true ]

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

武器。我会重现您的问题。

enter image description here

根据我的观察,它与节点版本或npm版本无关。它说找不到node-gyp。

因此,我遵循此case来运行命令npm install -global node-gyp。您可以在D:\local\AppData\npm>下进行检查。

enter image description here

我们知道,node-gyp需要依赖python2.7Microsoft's vc++ build tools进行编译,这在Linux系统上很好,因为默认情况下已安装Linux,但Windows操作系统未安装python2默认情况下,.7和vc ++构建工具。

我试图安装npm install --global --production windows-build-tools,但失败了。它需要admin权限,这是我们在网络应用沙箱限制中无法触及的。

因此,作为解决方法,也许您必须在本地安装软件包,然后将全部node_modules文件夹上载到azure,而不是在kudu中安装软件包。


添加:

Azure支持人员指出,即使您将环境设置为x64,该程序包也只能在64位环境中运行,而其Web Apps默认运行x86 Node。

您可以通过手动将x64节点复制到服务器,更新iisnode.yml指向服务器,然后手动更新node_modules来覆盖。所有这些都完全摧毁了建立干净CI路径的任何机会。