Skip to content

Instantly share code, notes, and snippets.

@ederrafo
Last active February 26, 2020 20:49
Show Gist options
  • Save ederrafo/c68be41f3ecca4435c97040e2ffb86c7 to your computer and use it in GitHub Desktop.
Save ederrafo/c68be41f3ecca4435c97040e2ffb86c7 to your computer and use it in GitHub Desktop.
Depedencias en php con Composer, Composer basado en nodejs,
Instalacion de forma global de composer en Linux
$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/bin/composer
$ composer -V
Instalacion del proyecto de forma local, via composer
$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar create-project laravel/laravel my-project.com --prefer-dist
Empezamos un proyecto con composer:
$ composer init
Actualizamos una libreria o todas las librerias que descarge:
$ composer update [vendor/package]
Para instalar librerias, ejemplos:
composer require vendor/package:~X.Y
$ composer require 'symfony/symfony:2.8.0'
$ composer require monolog/monolog
$ composer require laralibs/modular:dev-master
$ composer require 'phpunit/phpunit=4.0.*'
$ composer require laralib/l5scaffold:dev-master
$ composer require "pingpong/modules:~2.0"
{
"require": {
"pingpong/modules": "~2.0"
}
}
Error / Warnings
PHP Warning: proc_open(): fork failed - Cannot allocate memory in
phar:///usr/local/bin/composer/vendor/symfony/console/Application.php on line 959
Warning: proc_open(): fork failed - Cannot allocate memory in
phar:///usr/local/bin/composer/vendor/symfony/console/Application.php on line 959
[ErrorException]
proc_open(): fork failed - Cannot allocate memory
This could be happening because the VPS runs out of memory and has no Swap space enabled.
$ free -m
total used free shared buffers cached
Mem: 2048 357 1690 0 0 237
-/+ buffers/cache: 119 1928
Swap: 0 0 0
Solve:
To enable the swap you can use for example:
$ sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
$ sudo /sbin/mkswap /var/swap.1
$ sudo /sbin/swapon /var/swap.1
$ sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 && sudo /sbin/mkswap /var/swap.1 && sudo /sbin/swapon /var/swap.1
Descargamos la librerias que ya confgure:
$ composer install
Lee el archivo composer.json para recoger la lista de dependencias
Lee el archivo composer.lock para ver la version instalada por el commiter y descarga las dependecias con la version indicada.
Si una dependencia no esta en el archivo .lock pero si en el .json composer la descargara y la registrara en .lock
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment