2016-08-16 88 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/獲取更多信息。