我最近在安装symfony2软件包时遇到了作曲家的问题。
我的VM上的可用内存为700M
,但还不够。它只有在我停止了一些服务并释放后才起作用1.2G
。
Composer文档对此没有做太多规定:
注意: Composer在内部将memory_limit增加到
512M
。如果在使用作曲家时遇到内存问题,请考虑创建问题凭单,以便我们进行调查。
我的问题是-作曲家在内部使用大量内存做什么?
在我看来,该过程很fairly
简单,基本上检查模块之间的依赖关系,然后下载模块档案,并修改某些文件。我认为要X
稳定地协商所有模块的版本的算法一点都不简单,但这是其他编程语言的程序包管理器之间的普遍问题,还是作曲家优化问题?(例如,我还没有听说过RubyGems这样的问题)。
大多数其他依赖项管理器没有完整的SAT解算器,并且执行“近似”运算所需的比较少(因此,CPU,内存更少),但在某些情况下可能会产生无效结果或无法解决的问题,其中包管理器(如Bower)会询问您您要做什么。想做。Composer求解器通常会找到解决方案或最终找到冲突。
简而言之,这是一种设计选择,但是我意识到由于内存的使用,这也是一个问题。有几种策略可以降低内存使用量,但是尝试这些方法很耗时,而且没有多少人有足够的项目知识或时间来实现这一目标,因此目前还处于停滞状态。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句