[英]npm 3.x install fails on rename long paths in Windows/Azure
由於長路徑,部署node.js時,npm 3.x安裝在重命名Windows / Azure中的長路徑時失敗:
npm ERR! EINVAL: invalid argument, rename 'D:\home\site\wwwroot\node_modules\azure_util\node_modules\pkgcloud\node_modules\gcloud\node_modules\gapitoken\node_modules\jws\node_modules\base64url\node_modules\meow\node_modules\indent-string\node_modules\repeating\node_modules\is-finite\node_modules\number-is-nan' -> 'D:\home\site\wwwroot\node_modules\number-is-nan'
有沒有克服它或阻止npm重命名?
我們找到了解決方案。 看起來像npm 3.x在只需從舊的npm升級時需要重命名長路徑時才會遇到這種情況。
這意味着,因為我們已經使用較舊的npm運行此部署,當我們升級到npm 3.6.0時,它試圖壓扁現有部署並崩潰。
解決方案只是刪除node_modules並重新部署。
根據您的信息,您的自定義模塊azure_util
是在npm <3.x版本中構建的,它嵌套了node_modules
文件夾。
在將node.js應用程序部署到Azure Web Apps之前,可以嘗試以下步驟:
npm dedupe
,這將使樹變平。 您可以在npm更改日志中找到說明 執行這些操作后,應用程序的node.js deps應該在node_modules
文件夾中列表。 它應該阻止npm重命名。
如果您仍然在本地環境中出現問題,則可以嘗試在npm 3.x版本中重建自定義依賴項,以使目錄樹提前保持平整。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.