OSX -bash: composer: comando no encontrado

91

Si escribo "compositor", aparece el mensaje de error anterior.

Lo hice en mi macbook:

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

para instalar Composer a nivel mundial.

Tuve que crear manualmente el directorio / local / bin / composer, ¿tal vez esto causó el error?

php composer.phar

funciona si estoy en mi directorio de código donde está el archivo .phar.

¿Qué podría hacer para resolver el problema y ejecutar composer a nivel mundial?

Mi ~ / .perfil

export PS1="\W: "
export CLICOLOR=1
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx

~: echo $ PATH

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/local/bin
~: 
Bobbybackblech
fuente
1
chmod 0755 /usr/local/bin/composery añadir /usr/local/bina $PATHen ~/.bash_profile. Estas son cosas básicas para el usuario y no pertenecen aquí.
Droppy
¿Qué debo agregar exactamente a mi .profile? Actualicé mi publicación con el contenido de mi .perfil
bobbybackblech
Entonces, ¿compositor está ahora en /usr/local/bin/composer/composer.phar?
diciembre
El mismo problema en mac os x 10.11.4 aquí con /usr/local/bin& /usr/local/bin/composeren $ PATH, todavía se -bash: /usr/local/bin/composer/composer.phar: Permission denied
recibe

Respuestas:

288

La ruta /usr/local/bin/composerno está en su RUTA, no se encontrarán los ejecutables en esa carpeta.

Elimina la carpeta /usr/local/bin/composer, luego ejecuta

$ mv composer.phar /usr/local/bin/composer

Esto mueve composer.pharen /usr/local/bin/y cambia el nombre en composer(que sigue siendo un ejecutable, no una carpeta).

Entonces utilícelo como:

$ composer ...
deceze
fuente
2
¿El hecho de que esté escribiendo "$" quizás? Eso es solo para indicar su línea de comandos, que normalmente es "$".
diciembre
Recibo una composer: Permission denied sierra con algunas soluciones, sudo chmod pero sudo: not found obtengo (es una synology (busybox))
Jeroen van Langen
5
Quizás por eso $no debería incluirse en las respuestas. Nos parece obvio, pero no a la gente nueva. Y también es obvio que no necesitas que la $gente entienda que estás hablando de la terminal.
JGallardo
4
Creo que incluir el $ es genial (si tiene problemas para entender qué es el $ para hmmm, ¿tal vez las secuencias de comandos de Linux no son para usted?)
gvanto
¿Por qué no está esto en la documentación sobre composer? Ty @deceze
Jonas de Herdt
68

Bueno, intenté muchas cosas, pero ninguna parecía funcionar. Pero el siguiente proceso lo hizo bien, ahora puedo usar el composercomando en la terminal. Estoy en mac OS 10.12.1

$ curl -sS https://getcomposer.org/installer | php
$ chmod +x composer.phar
$ mv composer.phar /usr/local/bin/composer
$ composer
maksbd19
fuente
¡Brillante! Solo tu solución funcionó para mí, ¡gracias!
Nilay Dagdemir
30

Entro en el mismo problema incluso después de mover el composer.phara '/ usr / local / bin / composer' usando el siguiente comando en amazon linux.

mv composer.phar /usr/local/bin/composer

Usé el siguiente comando para crear un alias para el archivo del compositor. Así que ahora está funcionando a nivel mundial.

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

No sé si esto funcionará en OS-X. Pero cuando busco con este problema, obtengo este enlace. Así que solo estoy publicando aquí. Espero que esto ayude a alguien.

Mahendran Sakkarai
fuente
Sí, funcionó después de crear un alias. alias composer = '/ usr / local / bin / composer'
Sanjay
¡Excelente artículo! Me han buscado mucho para esto.
lovecoding
23

Probado en Mac OSX después de la instalación mediante las instrucciones del sitio web del compositor:

sudo mv composer.phar /usr/local/bin/composer
Sabrina Leggett
fuente
10

Esto funciona en Ubuntu;

alias composer='/usr/local/bin/composer/composer.phar'
Christopher Wilbraham
fuente
debe reiniciar su terminal una vez que haya hecho esto
lone_coder
7

Instale Composer globalmente en OS X 10.11 El Capitan

Este comando NO funcionará en OS X 10.11:

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

En su lugar, escribamos en la ruta / usr / local / bin para el usuario:

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

Ahora podemos acceder al comando composer globalmente, como antes.

Amol Gholap
fuente
2

esto me desperdició uno o dos días. como por qué nadie dice en los tutoriales que el compositor de comandos no se debe usar sin vincular realmente y esas cosas ... Quiero decir, todos están escribiendo comandos de compositor como si fuera el siguiente paso cuando no todos somos usuarios experimentados de 5 años para conocer estos detalles.

cp composer.phar /usr/local/bin/composer

lo hice por mí en ubuntu después de quedarme atascado durante 2 días

ágilwebb
fuente
0

En Mac OS X, para cualquiera que tenga:

-bash: / usr / local / bin / composer: Permiso denegado

problema, al intentar mover descargado composer.pharusando:

mv composer.phar /usr/local/bin/composer

esta es la causa:

Protección de la integridad del sistema

y esta es la solución:

  1. Reiniciar el sistema en modo de recuperación: reinicio mac y mantenga pulsada la tecla cmd + R .
  2. Abra el terminal una vez que se haya iniciado el modo de recuperación a través de Utilidades> Terminal a través de la barra en la parte superior.
  3. Escribe csrutil disabley presiona enter. Debería ver un mensaje devuelto diciendo que:

    la protección de integridad del sistema está desactivada.

  4. Reinicie la computadora como de costumbre y luego configure el compositor. Tuve que ponerlo /usr/biny NO /usr/local/bin porque por alguna razón no funcionaba allí.
  5. Vuelva al modo de recuperación y habilite System Integrity Protector escribiendo csrutil enable
  6. Vuelva al arranque normal y compruebe que el compositor funciona. Lo hizo por mí.

Los 6 pasos anteriores se copian desde aquí , por lo que todo el crédito pertenece al usuario Vasheer allí.

Pmpr
fuente
1
Debería chmod + x el binario en lugar de simplemente apagar su csrutil ...
theprojectabot
0

Si tiene que ejecutar composer con sudo , debe cambiar el directorio de composer a

/usr/bin

esto fue probado en Centos8.

rotring05
fuente