Running Composer devuelve: "No se pudo abrir el archivo de entrada: composer.phar"

214

Soy nuevo en symfony2 y estoy leyendo symblog . En el tercer capítulo al intentar con accesorios de datos probé el comando:

php composer.phar update

pero recibí el error:

Could not open input file: composer.phar

Así que busqué en Google un poco e intenté

php composer.phar install

pero sigue obteniendo el mismo error. Por lo tanto, guíe cómo tratar con este compositor para instalar nuevas extensiones o paquetes como accesorios de datos en Symfony2 usando Wamp.

usuario3291745
fuente
¿Instalaste composer.phar en el lugar correcto?
hizbul25
Tuve este problema al intentar configurar el compositor a nivel mundial. Terminé agregando alias composer="php C:\\\\Users\\\\MyUsername\\\\bin\\\\composer.phar"a mi archivo .bashrc . Feo, pero funcionó.
Batandwa
15
La solución para el usuario de Windows está a continuación por @Jamil, debe usar el compositor del usuario en lugar de php composer.phar
Carlos487
No necesita .phar si ya ha instalado composer, solo ejecute la actualización de composer
meddy

Respuestas:

280

Si siguió instrucciones como estas:

https://getcomposer.org/doc/00-intro.md

Que te dicen que hagas lo siguiente:

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

Entonces es probable que usted, como yo, haya ejecutado esos comandos y no haya leído la siguiente parte de la página que le indica que deje de referirse a composer.phar por su nombre completo y lo abrevie como un ejecutable (que acaba de cambiar de nombre con el mv mando). Así que esto:

$ php composer.phar update friendsofsymfony/elastica-bundle

Se convierte en esto:

$ composer update friendsofsymfony/elastica-bundle
Chris Moschini
fuente
37
Lo que debe recordar es que si lo instaló correctamente (en Windows) y lo agregó a la variable PATH de su entorno, entonces no necesita escribir php composer.phar y usar composer en su lugar.
AturSams
@ Chris Moschini Parece que puedes ayudarme. Mira esto: stackoverflow.com/questions/52091827/…
Success Man
si tenemos que instalar el compositor en cada proyecto, instalé el compositor usando su instalador
Sushant Bhargav
151

Tuve el mismo problema en Windows y usé una solución diferente. Utilicé el archivo de instalación Composer_Setup.exe provisto por el sitio web del compositor y realiza una instalación global .

Después de la instalación, asegúrese de que su variable PATH apunte al directorio donde se almacena composer.phar. Esto suele ser C:\ProgramData\ComposerSetup\bin( ProgramData podría ser un directorio oculto ). No hace falta decirlo, pero también asegúrese de que el ejecutable de PHP también esté en su variable PATH.

Entonces puedes simplemente llamar

composer install

en vez de

php composer.phar install
El desarrollador desconocido
fuente
66
Esto finalmente funciona, no entiendo por qué no puedo encontrar esta información en ninguna parte del sitio web del compositor ...
Henning Fischer
44
¡Gracias! Eso no se menciona en la sección "uso básico" en los documentos de Composer. Getcomposer.org/doc/01-basic-usage.md#installing-dependencies
Nick Rolando
Han pasado más de dos años desde esta respuesta, y los documentos aún no se han actualizado, por lo que tuve el mismo problema. ¡Gracias!
Andy Mercer
105

Antecedentes

Es útil saber que hay dos formas de instalar (y usar) Composer: localmente como un archivo en el directorio de su proyecto, o globalmente como un ejecutable de todo el sistema.

Instalar Composer localmente simplemente significa que está descargando un archivo ( composer.pharque es un archivo PHP ) en el directorio de su proyecto. Tendrá que descargarlo para cada proyecto que requiera Composer.

Al igual que un archivo PHP normal que desea ejecutar en la línea de comandos, deberá ejecutarlo con PHP:

php composer.phar update

Lo que básicamente le dice al phpejecutable para ejecutar el archivo composer.pharcon updatecomo argumento.

Sin embargo, si lo instala globalmente , puede hacer que el compositor sea ejecutable, por lo que puede llamarlo sin php (y no tiene que descargarlo para cada proyecto). En otras palabras, puedes usar un compositor como este:

composer update

Como está ejecutando php composer.phar updatey está recibiendo el error Could not open input file: composer.phar, probablemente no lo tenga composer.pharen su directorio actual.

Solución

Si tiene Composer instalado globalmente, simplemente ejecute en composer updatelugar de php composer.phar update.

Si aún no tiene Composer instalado, descargue el PHAR con el siguiente comando:

curl -sS https://getcomposer.org/installer | php

Esto descargará el instalador y lo ejecutará usando php. El instalador descargará el Composer PHAR real a su directorio de trabajo actual y lo hará ejecutable.

Para instalar Composer globalmente (lo recomiendo), copie el archivo a una ubicación en su PATH. La ubicación exacta difiere según el sistema operativo y la configuración; consulte https://getcomposer.org/doc/00-intro.md#globally para obtener más información.

Personalmente, prefiero instalar Composer en mi directorio de inicio, así que no necesito sudoinstalar o actualizar el composerejecutable (lo que puede ser un riesgo de seguridad). Como estoy en Linux, uso el siguiente comando:

mv composer.phar ~/.local/bin/composer
Nic Wortel
fuente
1
Desearía poder actualizar esta respuesta más de una vez. Además de responder la pregunta, aclara la cuestión de la diferencia entre la instalación local y global de Composer. Gracias por esto.
NaijaProgrammer
49

Si alguien más llegó tan bajo en la página y todavía no encontró una respuesta que funcione (como yo lo hice), use esto:

$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer.phar
$ alias composer='/usr/local/bin/composer.phar'
$ composer --version

et voila! Un compositor que trabaja :-)

Stan Smulders
fuente
Gracias, agente Smulders. ;)
Steven Ventimiglia
A mí me funcionó, pero tuve que cambiar una línea para que funcionara correctamente $ alias composer = '/ usr / local / bin / composer'
Steph Moreau
En mi Mac OS X, agregué el comando alias a mi .bash_profile. Esto hará que el alias sea persistente para las nuevas sesiones de terminal.
noctufaber
1
La segunda línea no funciona mv composer.phar /usr/local/bin/composer.phar. Me sale un error: mv: regular File '/usr/local/bin/composer.phar'no se pudo instalar: faltan derechos.
Peter
12

Encontré que esto funcionaba ya que no tenía curl instalado. En Windows 8 con XAMPP instalado. Lo agregará a su compilación local. Uso .gitignore para evitar el repositorio

php -r "readfile('https://getcomposer.org/installer');" | php

Lo obtuve desde aquí: https://getcomposer.org/download/

purencool
fuente
12

Para resolver este problema, lo primero que debe hacer es obtener la última versión del compositor:

curl -sS https://getcomposer.org/installer | php

Le recomiendo que mueva el archivo composer.phar a un directorio global "bin", en mi caso (OS X) la ruta es:

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

de lo que necesita para crear un archivo de alias para un acceso fácil

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

Si todo está bien, ahora es el momento de verificar nuestra versión de Composer:

composer --version

Hagamos al compositor grandioso de nuevo.

Achref Gassoumi
fuente
10

Esto funcionó para mí:

composer install

Sin

php composer install
Mohamed Fanane
fuente
incluso sin extensión? Además, agregue una sangría de 4 espacios a sus líneas de código para que estén formateadas como código
YakovL
4

Ayer estaba tratando de instalar el marco Yii2 en Windows 10 y tengo el mismo problema (No se pudo abrir el archivo de entrada: composer.phar) ejecutando este comando:

php composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9

El problema es que el archivo composer.phr no está en el directorio actual, debe proporcionar la ruta completa composer.phr como

php C:\ProgramData\Composer\bin\composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9

O puede crear un proyecto yii2 usando este comando:

 composer create-project yiisoft/yii2-app-advanced advanced 2.0.9

O

composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9
Muhammad Shahzad
fuente
4

Utilizar este :

php -r "readfile('https://getcomposer.org/installer');" | php
Fabio Valencio
fuente
3

Tuve el mismo problema. Se resuelve cuando hice que Composer esté disponible globalmente. Ahora puedo ajustar los comandos desde cualquier lugar de la carpeta.

composer update

composer require "samplelibraryyouwant"

Kiren Siva
fuente
3
Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar una aclaración de un autor, deje un comentario debajo de su publicación.
Bas van Stein
@BasvanStein Parece un intento de respuesta. Si cree que esta respuesta es incorrecta, puede rechazarla.
Artjom B.
2

Respuesta fácil, navegue al directorio donde ya tiene el archivo composer.json que desea ejecutar (idealmente su carpeta de proyecto), luego descargue el compositor en la misma carpeta, luego ejecute instantáneamente el comando de instalación de la siguiente manera:

 php composer.phar install

Esto buscará automáticamente el composer.json y ejecutará los scripts necesarios. Buena suerte. Esto es muy fácil para los asistentes de terminal y totalmente extraño para el resto de nosotros.

ColosalChris
fuente
2

Estoy usando Windows 8.0. En mi caso para instalar o actualizar, solo uso composer install o algo más en lugar de php composer.phar. Esto funcionó para mí como

composer require google/apiclient:1.*
bicky
fuente
2

Hola amigos, sigan los pasos para solucionar este problema en MAC OS

  • Paso 1: primero ejecuta el comando en la Terminal con el directorio de tu proyecto

    $ curl -sS https://getcomposer.org/installer | php

  • Paso 2: Mueva el composer.phar en el directorio de su proyecto

    $ mv composer.phar /Aplicaciones/MAMP/htdocs/bashrushAPI/composer.phar

  • Paso 3: Configurar alias del compositor

    $ alias composer = '/ Aplicaciones / MAMP / htdocs / bashrushAPI / composer.phar'

  • Paso 4: Verifique la versión del compositor ahora

    $ composer --version

    Composer version 1.7.2 2018-08-16 16:57:12

  • Paso 5: Confirme las carpetas del proyecto y el archivo colocado debajo

    $ ls

    CONTRIBUTING.md docker-compose.yml templates README.md logs tests composer.json phpunit.xml vendor composer.lock public composer.phar src

  • Paso 6: ahora actualiza el compositor

    Actualización de $ composer.phar

    Loading composer repositories with package information Updating dependencies (including require-dev) Nothing to install or update Generating autoload files

  • Paso 7: ejecuta tu proyecto de muestra

    $ php composer.phar start

    php -S localhost:8080 -t public [Thu Sep 27 03:16:11 2018] ::1:51177 [200]: / [Thu Sep 27 03:16:11 2018] ::1:51178 [404]: /favicon.ico - No such file or directory

Murugan Vadivel
fuente
1

ingrese la descripción de la imagen aquí

su composer.phar debe colocarse de la manera anterior.

hizbul25
fuente
Estoy usando Windows8 e instalé exe del compositor como en getcomposer.org/download . Luego copié el archivo composer.phar a mi proyecto según la estructura mostrada por usted. los archivos composer.json y composer.lock ya estaban allí, ya que era la descarga predeterminada del paquete de Symfony. Después de hacer esto cuando ejecuté el comando udpate del compositor, me llevó alrededor de media hora pero aún no se ha completado. Que pasa Por favor recomiende. ¡Gracias por adelantado!
user3291745
ok, ¿usas cmd para comando? así que debes cambiar el directorio de la manera correcta. Proporcione mejor la estructura de su directorio con la captura de pantalla.
hizbul25
Stackoverflow no me permite cargar imágenes, ya que soy un usuario recién nacido con menos puntos o reputación. Estoy ejecutando el comando de actualización de composer en el directorio C: \ wamp \ www \ Symfony \ y en ese directorio puedo ver las carpetas composer.phar, composer.json, composer.lock, bin, vendedor, src y web.
user3291745
C: cd wamp \ www \ Symfony
hizbul25
En este sentido, el desarrollador siempre sugiere Linux para php / python / ruby. :)
hizbul25
1

Para Windows, hice composer.cmd y usé el siguiente texto:

php c:\programs\php\composer.phar %*

donde composer.phar está instalado y c: \ programas \ php \ se agrega a mi ruta.

No estoy seguro de por qué esto no se hace automáticamente.

TamusJRoyce
fuente
1

Para Windows10 Pro, los siguientes pasos solucionan el problema. seleccione propiedades marque la opción Desbloquear programa. ejecute el instalador, ejecute el comando CMD con derechos de administrador. En el símbolo del sistema, ejecute composer --versionpara asegurarse de que esté instalado globalmente. ahora debería poder ejecutar composer require drush/drushEsto es para dependencia drush usando composer.

Narayan P
fuente
1

Simplemente abra cmd como Administrador, vaya a la carpeta de su proyecto y verifique que esté funcionando o no con el comando composer.

El error anterior se debe a que el compositor no es accesible globalmente. Por lo tanto, debe ejecutar "cmd" como administrador.

Esto está funcionando bien para mí.

Shukla Saurabh
fuente
1

Ejecute lo siguiente en la línea de comando:
curl -sS https://getcomposer.org/installer | php

Lobo
fuente
0

Su composer.phar debe estar en los archivos de origen. Tuve el mismo problema y simplemente corté mi composer.phar en la carpeta mine framework-standard-edition , donde está todo mi proyecto de texto fuerte .

Lackeeee
fuente
0

si el compositor ya está instalado, todo lo que necesita es saber dónde está el archivo composer.phar (su directorio) después de eso, pasa a su proyecto de Symfony donde tiene el composer.json y desde ese directorio ejecuta su archivo composer.phar. En windows esto es lo que tienes que hacer.

symfony project directory_where_composer.json_is>php the_directory_where_composer.phar_is/composer update 

Eso es todo

insistente
fuente
0

Llegué a este problema cuando intento instalar Composer en una máquina con Windows 7 desde http://getcomposer.org/download página . Como existía una versión de redacción existente (proporcionada por la herramienta de escritorio de desarrollo de adventia), la instalación falla y la única posibilidad era solucionar este problema manualmente. (o para eliminar el compositor de herramientas Dev Desktop).

De todos modos, el mensaje de error es bastante sencillo (No se pudo abrir el archivo de entrada: composer.phar), deberíamos decirle al sistema dónde está ubicado el archivo.

Edite el archivo composer.bat y debería verse así:

@SET PATH=C:\Program Files (x86)\DevDesktop\php5_4;%PATH%
php.exe composer.phar %*

Ver que composer.phar no tiene una ruta de archivo. Cuando se encuentre en una carpeta diferente a la que está ubicada composer.phar, el sistema no podrá encontrarla. Entonces, solo complete la ruta del archivo composer.phar:

@SET PATH=C:\Program Files (x86)\DevDesktop\php5_4;;%PATH%
SET composerScript=composer.phar
php.exe "%~dp0%composerScript%" %*

Vuelva a abrir su consola de ventana y eso debería ser el truco.

EDITAR: esto tiene un problema porque siempre usa la carpeta% ~ dp0% composerScript% como ejecución del compositor. Luego, todas las configuraciones se realizan en esa carpeta (además de estar en su carpeta de proyecto actual) y no en su carpeta de proyecto.

Hasta ahora, no he encontrado una forma de hacer una instalación manual del compositor para que funcione globalmente en Windows. Tal vez debería seguir adelante con el compositor para la instalación de Windows mencionado anteriormente.

mariano_c
fuente
0

No acceda al compositor por compositor composer.pher install

utilizar la instalación del compositor

abey
fuente
0

Puedes probar este comando si ya tienes instalado Composer:

composer update 

o si quieres agregar un paquete a tu compositor prueba esto:

composer require "/../"
jabir
fuente
0

usar compositor solo sin php

me gusta :

composer create-project --prefer-dist --stability=dev developeruz/yii-vue-app basic
mohammad nazari
fuente
0

He solucionado el mismo problema con los pasos a continuación

  1. Abra el directorio del proyecto usando Terminal ( que está usando, es decir, mintty )
  2. Ahora instale el compositor dentro de este directorio según las instrucciones dadas en https://getcomposer.org/download/

php -r "copy (' https://getcomposer.org/installer ', 'composer-setup.php');"

php -r "if (hash_file ('SHA384', 'composer-setup.php') === 'el código hash proporcionado') {echo 'Instalador verificado';} else {echo 'Instalador corrupto'; desvincular ('composer-setup.php');} echo PHP_EOL; "

php composer-setup.php php -r "unlink ('composer-setup.php');"

  1. Ahora ejecuta tu comando.

Todo funciona bien ahora porque el composer.phar archivo está disponible dentro del directorio actual del proyecto.

Gracias

Anoop Saini
fuente
0

Conmigo funciona solo necesitas el archivo composer.phary composer.jsonen el proyecto actual. El comando es

php composer.phar update 
isiariana
fuente
0

Comando como este:

composer.phar require intervention/image

error: composer.phar: comando no encontrado

Resolví el problema siguiendo este proceso

Configuré el compositor globalmente y cambié el nombre composer.pharpara composerluego ejecutar este comando composer require intervention/image. y ahora funciona bien

Mamunur Rashid
fuente
0

Sé que tal vez mi respuesta es demasiado específica para un servidor QNAP incorporado, pero terminé aquí tratando de instalar Yii:

Para mí, dentro de un QNAP NAS a través de PuTTY, después de probar todos los trucos anteriores y actualizar PATH en vano, la única línea de cmd que funciona es:

 /mnt/ext/opt/apache/bin/php /usr/local/bin/composer create-project yiisoft/yii2-app-basic basic

Por supuesto, adapta tu camino en consecuencia ...

Si hago un which composer, tengo una respuesta correcta, pero si lo hago, which phpnada vuelve.

Además de eso, tratando de correr

/mnt/ext/opt/apache/bin/php composer create-project yiisoft/yii2-app-basic basic

o refiriéndose a

composer.phar

no funcionó también ...

Marcelo Scofano
fuente