无法将 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

Azure YAML 部署失败并显示“错误:无法将 Web 包部署到应用服务。冲突(代码:409)”

vsphere 虚拟机,磁盘空间不足,无法开机

Mac App Store 上的 Xcode 无法安装,显示磁盘空间不足