将https://www.npmjs.com/package/material-design-icons添加为我的 Node 应用程序的依赖项时,运行时cf push
失败。由于完整的应用程序包括大约 100 MB(远低于 1 GB 的限制),我认为这可能与大约 86'000 个文件的事实有关(无论出于何种原因)。Disk quota exceeded
npm install
node_modules
material-design-icons
有什么解决方法吗?
将https://www.npmjs.com/package/material-design-icons添加为我的 Node 应用程序的依赖项时,运行时cf push
失败。由于完整的应用程序包括大约 100 MB(远低于 1 GB 的限制),我认为这可能与大约 86'000 个文件的事实有关(无论出于何种原因)。Disk quota exceeded
npm install
node_modules
material-design-icons
有什么解决方法吗?
另一种解决方案是使用 .cignore 文件(与 .gitignore 文件的概念相同)忽略 node_modules 目录。推送应用程序时,.cignore 中描述的文件不会上传到 Cloud Foundry。您可以在此处找到有关 .cfignore 的更多信息:https ://docs.developer.swisscom.com/apps/deploy-apps/prepare-to-deploy.html#exclude
解决方案是在推送之前从您的应用目录中删除目录 node_modules 。所需模块的描述必须在依赖项下的文件 package.json 中。我测试了一个添加 material-design-icons 模块的简单快速应用程序。在没有目录 node_modules 内容的情况下推送应用程序是可行的,因为在登台时,模块会被下载并添加到应用程序中。
解决方案是在推送之前从您的应用目录中删除目录 node_modules 。所需模块的描述必须在依赖项下的文件 package.json 中。我测试了一个添加 material-design-icons 模块的简单快速应用程序。在没有目录 node_modules 内容的情况下推送应用程序是可行的,因为在登台时,模块会被下载并添加到应用程序中。
解决方案.cfignore
应该有效。不过,您可能需要删除并重新推送您的应用程序,因为 Cloud Foundry 会缓存一些文件,并且容器可能会充满这些缓存的文件。如果您删除并重新推送应用程序,您将从头开始获得一个干净的容器,这可能会解决您的问题。
我遇到了同样的问题。我通过执行以下操作解决了它:
.cfignore
nodejs
更新package.json
buildpack