Instalación global de Composer (manual)

84

Seguí el manual del compositor (instalación global del compositor (manual)) para instalar el compositor en Ubuntu.

$ ll /usr/local/bin/
total 4760
drwxr-xr-x  2 root root    4096 2012-03-29 08:29 ./
drwxr-xr-x 10 root root    4096 2011-04-26 00:50 ../
-rwxr-xr-x  1 root root  410324 2012-03-29 08:28 composer.phar

Otros guiones de /usr/local/bin/obras, pero el compositor da:

$php composer.phar update Could not open input file: composer.phar

Funciona solo si ingreso la ruta absoluta a composer.phar. ¿Cómo arreglar esto?

Umpirsky
fuente

Respuestas:

29

No agregue phpal principio. Solo llama composer.phar.

Garakkio
fuente
Funciona, gracias. La explicación sería genial, tengo curiosidad. Gracias de nuevo.
umpirsky
2
Funciona porque el compositor ya es un ejecutable (tiene derechos u + x por defecto). Entonces, no es necesario ejecutar php, porque shell lo hará de todos modos.
netvision73
3
Y hay un código especial en la primera línea de composer.phar, #!/usr/bin/env phpque le dice a ubuntu que el archivo es un archivo php y debe ejecutarse con el programa php.
T0xicCode
197

TLDR;

Como se describe en el sitio web de Composer :

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Método manual

Encontré una manera más fácil de instalar globalmente Composer que el manual proscrito en el github readme.md . En realidad está en el sitio web getcomposer.org :

curl -s http://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/

Y si eres aún más vago, como yo, puedes crear un alias:

alias composer='/usr/local/bin/composer.phar'

De esta manera puedes invocar al compositor con solo composer

chrisjlee
fuente
12
Agradable. El alias es un toque dulce para compulsivos obsesivos también. Escribiendo extensiones de archivo? Pfeh! Eso es para tontos
eggonlegs
44
Pereza, madre de la creatividad. ¡La última actualización es la mejor!
Pierre de LESPINAY
cuando ejecuto $ sudo mv composer.phar /usr/local/bin/composery luego intento escribir $ composer, aparece el error: bash: /usr/local/bin/composer: Permission denied¿Cómo puedo cambiar estos permisos?
Connor Leech
@ConnorLeech Puedes correrchmod +x /usr/local/bin/composer
Chibueze Opata
1
@ KimStacks Creo que tiene sentido mantenerlo allí en contexto.
chrisjlee
28

En realidad, getcomposer.org ahora recomienda un método más simple:

$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer

Ahora puede usarlo composersin molestarse con un alias o un shscript por separado .

BenjaminRH
fuente
Esto es correcto.
Jack Franzen
7

Otra alternativa para obtener un buen composercomando en lugar de composer.phar:

$ curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin
$ ln -s /usr/local/bin/composer.phar /usr/local/bin/composer
Michael Härtl
fuente
44
Incluso puede usar --filename = composer para guardar la parte del enlace simbólico :)
magnetik
5

para una ejecución más fácil creé / usr / local / bin / composer con contenido:

#!/bin/sh
exec /usr/local/bin/composer.phar "$@"

no te olvides de sudo chmod +x /usr/local/bin/composer.phar

bazilio91
fuente
3

A continuación se detallan los pasos a seguir para instalar Composer a nivel mundial: 1. Antes de instalar Composer, asegúrese de que nuestro servidor tenga instaladas todas las dependencias.

Primero, actualice la caché del administrador de paquetes ejecutando:

$ sudo apt-get update

2. Ahora, instalemos las dependencias. Necesitaremos

  • curl => para descargar Composer
  • php5-cli => instalarlo y ejecutarlo
  • git => utilizado por Composer para descargar dependencias del proyecto

Todo se puede instalar con el siguiente comando:

$ sudo apt-get install curl php5-cli git

3. Instalación del compositor con un solo comando:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

4. Esto descargará e instalará Composer como un comando de todo el sistema llamado composer, en / usr / local / bin. La salida debería verse así:

Salida:

\#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: /usr/local/bin/composer

Úselo: php / usr / local / bin / composer

5. Para probar su instalación, ejecute:

$ composer -V

Salida:

Composer version 1.1.3 2016-06-26 15:42:08
  1. Instalación exitosa
Ravistm
fuente
0

Hice un script bash simple que instala automáticamente el compositor para el usuario actual / todos los usuarios, puede usar uno de los siguientes comandos en su terminal para usar el script bash.

Usuario actual

wget -O - https://gist.github.com/EmpireWorld/1dd5f59566e186907f99dc16badc382a/raw/install-composer-local.sh | bash

Todos los usuarios

wget -O - https://gist.github.com/EmpireWorld/1dd5f59566e186907f99dc16badc382a/raw/install-composer-global.sh | bash

Mira la esencia

Hasan Bayat
fuente
-1

Esto podría funcionar para ti. Tenga en cuenta que sudose usa dos veces aquí.

sudo curl -sS https://getcomposer.org/installer | sudo php
Hacer hacer hacer
fuente
1
¡Hola! Bienvenido a Ask Ubuntu. Tal como está, no está claro por qué los comandos podrían resolver el problema que tiene el OP. ¿Puede por favor editar su pregunta y elaborar su respuesta?
grooveplex