1

https://www.npmjs.com/package/material-design-icons添加为我的 Node 应用程序的依赖项时,运行时cf push失败。由于完整的应用程序包括大约 100 MB(远低于 1 GB 的限制),我认为这可能与大约 86'000 个文件的事实有关(无论出于何种原因)。Disk quota exceedednpm installnode_modulesmaterial-design-icons

有什么解决方法吗?

4

4 回答 4

2

另一种解决方案是使用 .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 内容的情况下推送应用程序是可行的,因为在登台时,模块会被下载并添加到应用程序中。

于 2015-12-15T10:31:02.067 回答
1

解决方案是在推送之前从您的应用目录中删除目录 node_modules 。所需模块的描述必须在依赖项下的文件 package.json 中。我测试了一个添加 material-design-icons 模块的简单快速应用程序。在没有目录 node_modules 内容的情况下推送应用程序是可行的,因为在登台时,模块会被下载并添加到应用程序中。

于 2015-12-15T09:57:28.223 回答
1

解决方案.cfignore应该有效。不过,您可能需要删除并重新推送您的应用程序,因为 Cloud Foundry 会缓存一些文件,并且容器可能会充满这些缓存的文件。如果您删除并重新推送应用程序,您将从头开始获得一个干净的容器,这可能会解决您的问题。

于 2015-12-17T08:41:35.600 回答
0

我遇到了同样的问题。我通过执行以下操作解决了它:

  • 使用.cfignore
  • 指定nodejs更新package.json
  • 使用最新的buildpack
于 2016-09-13T11:39:51.067 回答