这是我在远程服务器上运行composer update
时出现的错误:
我确实有交换(所以我不确定为什么错误说我没有)。
total used free shared buffers cached
Mem: 495 247 248 0 12 48
-/+ buffers/cache: 187 308
Swap: 1023 204 819
我真的不确定还有什么可以尝试...
如果有人有任何建议我肯定会感激。
答案 0 :(得分:1)
" 495M"是一个便宜的VPS盒子的指标。
我想你正试图在生产盒上运行Composer。
您正在更新包,包括开发包:require-dev
。
(A)我怀疑你是否想在机器上进行开发,这种严格的限制,但无论如何,这里有一些指示:
~
或通配符*
。例如:如果有1.2.*
,请不要使用~1.2
或1.2.3
。composer update --no-dev
中列出的软件包,在生产箱上不需要它们但是当它仍然无法工作时,不要感到惊讶。
(B)要真正解决问题,您可以在开发机器上正确打包项目。只需在开发计算机上运行composer install --no-dev
或composer update --no-dev
并打包项目文件夹,然后将其部署到生产环境(复制文件,提取)。
(C)在本地运行update
,将composer.lock
文件推送到Github,然后在生产服务器上将其拉出,然后运行install
。通过这样做,可以使用锁定文件中已经解析的版本,从而降低工作和内存使用量。
简而言之: