将https://www.npmjs.com/package/material-design-icons作为依赖项添加到我的节点应用程序时,cf push在运行npm install时失败并返回Disk quota exceeded。由于包括node_modules在内的整个应用程序的大小约为100MB(远低于1 GB的限制),我认为这可能与material-design-icons有大约86'000个文件有关(不管是什么原因)。
有什么解决方法吗?
发布于 2015-12-15 18:31:02
另一种解决方案是使用.cfignore文件忽略node_modules目录(与.gitignore文件的概念相同)。当您推送应用程序时,.cfignore中描述的文件不会上载到Cloud Foundry。你可以在这里找到更多关于.cfignore的信息:https://docs.developer.swisscom.com/apps/deploy-apps/prepare-to-deploy.html#exclude
解决方案是在推送之前将node_modules目录从您的应用目录中删除。所需模块的描述必须位于依赖项下的package.json文件中。我测试了一个简单的express应用,添加了material-design-icons模块。在没有node_modules目录内容的情况下推送应用程序是可行的,因为在登台时会下载模块并将其添加到应用程序中。
发布于 2015-12-15 17:57:28
解决方案是在推送之前将node_modules目录从您的应用目录中删除。所需模块的描述必须位于依赖项下的package.json文件中。我测试了一个简单的express应用,添加了material-design-icons模块。在没有node_modules目录内容的情况下推送应用程序是可行的,因为在登台时会下载模块并将其添加到应用程序中。
发布于 2015-12-17 16:41:36
使用.cfignore的解决方案应该可以工作。您可能需要删除并重新推送您的应用程序,因为Cloud Foundry缓存了一些文件,容器中可能会充满这些缓存的文件。如果您删除并重新推送应用程序,您将从头开始获得一个干净的容器,这可能会解决您的问题。
https://stackoverflow.com/questions/34275644
复制相似问题