2016-08-16 63 views
0

我正在使用名为swagger-tools,其内部取决于lodash节点模块。当安装swagger工具时,其node_modules文件夹的深度非常大,这会导致我的azure web应用程序(Windows服务器)发生错误。我看到某处可以通过使用npm 3来解决这个问题,而当npm 3安装在Azure服务器上时,我无法强制它使用它 - 错误日志表明正在使用npm 2。这是我如何在package.json中执行的操作:在天蓝色节点js - 深嵌套节点模块导致错误

"engineStrict": true, 
"engines" : { 
    "npm" : ">=3.0.0" 
} 

节点版本是4.4.7。 如果有人知道解决问题的另一种方法,我会很高兴。

回答

0

设置NPM路径绝对位置,以在Azure上Web应用程序的文件系统故宫3 Custom Deployment Script

此外,还有一个更简单的解决方法。您可以将package.json中的nodejs版本定义为包含npm 3的版本。包含npm3的最低nodejs版本为5.0.0

所以,你可以简单地修改engines部分在package.json

"engines" : { 
    "node" : "5.0.0" 
} 

您可以参考https://azure.microsoft.com/en-us/documentation/articles/nodejs-specify-node-version-azure-apps/获取更多信息。