无法将 Web 包部署到应用服务“磁盘空间不足”
Posted
技术标签:
【中文标题】无法将 Web 包部署到应用服务“磁盘空间不足”【英文标题】:Failed to deploy web package to App Service "there is not enough space on the disk" 【发布时间】:2022-01-01 00:34:30 【问题描述】:尝试从我的 git 存储库在 microsoft azure 上部署 node.js 项目,但是在构建了大约一个小时后,我在部署阶段收到了这个error message,有什么想法可能导致这种情况吗?
感觉这可能与启动时运行的“npm install”命令有关,同时安装所有这些模块可能会使其达到文件大小限制。如果是这种情况,关于如何缩小我的项目大小的任何建议?
Git 项目:https://github.com/JonathanAdamsONE/onedeployment
【问题讨论】:
可以参考Error: Error: Failed to deploy web package to App Service、Azure App Service - What is taking my disk space for my Azure Web App ?和Best practice for nodejs app deployment to Azure 您为该服务分配了哪个应用服务计划层? 免费使用 azure,而且我有 pro github,估计是因为我需要增加 azure 的空间? 【参考方案1】:使用 webpack 将很多包打包到一个文件中。然后部署起来既简单又快速。如果您使用serverless
框架,则有一个包serverless-webpack 可以完成这项工作。
同一应用服务计划中的所有 Web 应用都将共享磁盘空间。如果磁盘上的文件超过此限制,您将开始收到磁盘已满错误。
如果您的应用程序未设置为定期清理陈旧文件(默认情况下应该这样做),则可能会达到该存储限制并导致此错误浮出水面。在这种情况下,完成部署的快速解决方法是删除应用程序中的临时文件。
免费 (sku) azure 网站在 Temp 目录(实际上是 d:\local)中的磁盘空间有限,为 1GB。看来你已经达到了。
缩小项目规模的步骤:
我建议使用grunt-package-minifier
最初从 node_modules 中剥离所有 package.json、README 等,但将基本的 javascript 文件保留在一个可供 CommonJS 模块加载器使用的结构中。
也可以看看reduce-node-modules-bloat.md
【讨论】:
以上是关于无法将 Web 包部署到应用服务“磁盘空间不足”的主要内容,如果未能解决你的问题,请参考以下文章
从 Git 本地部署到 Azure System.IO.IOException: 磁盘空间不足
VMware vCenter Server Appliance 的磁盘空间不足问题处理
无法将 Web 包部署到应用服务,错误代码为 ERROR_DESTINATION_INVALID