L'exécution de Composer renvoie: «Impossible d'ouvrir le fichier d'entrée: composer.phar»

214

Je suis nouveau sur symfony2 et je lis symblog . Dans le troisième chapitre, en essayant avec des appareils de données, j'ai essayé la commande:

php composer.phar update

mais j'ai eu l'erreur:

Could not open input file: composer.phar

J'ai donc googlé un peu et essayé

php composer.phar install

mais toujours la même erreur. Veuillez donc guider comment traiter avec ce compositeur pour installer de nouvelles extensions ou bundles comme des fix-data dans symfony2 en utilisant wamp.

user3291745
la source
avez-vous installé composer.phar au bon endroit ??
hizbul25
J'ai rencontré ce problème lors de la configuration du compositeur à l'échelle mondiale. J'ai fini par ajouter alias composer="php C:\\\\Users\\\\MyUsername\\\\bin\\\\composer.phar"à mon fichier .bashrc . Moche, mais fonctionnait.
Batandwa
15
La solution pour l'utilisateur Windows est ci-dessous par @Jamil, vous devez utiliser composer plutôt que php composer.phar
Carlos487
Vous n'avez pas besoin de .phar si vous avez déjà installé le compositeur, exécutez simplement la mise à jour du compositeur
meddy

Réponses:

280

Si vous avez suivi des instructions comme celles-ci:

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

Qui vous disent de faire ce qui suit:

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

Ensuite, il est probable que vous, comme moi, ayez exécuté ces commandes et que vous n'ayez pas lu la partie suivante de la page vous disant d'arrêter de faire référence à composer.phar par son nom complet et de l'abréger en exécutable (que vous venez de renommer avec le mv commander). Donc ça:

$ php composer.phar update friendsofsymfony/elastica-bundle

Devient ceci:

$ composer update friendsofsymfony/elastica-bundle
Chris Moschini
la source
37
La chose à retenir est que si vous l'avez installé correctement (sous Windows) et que vous l'avez ajouté à la variable PATH de votre environnement, vous n'avez pas besoin de taper php composer.phar et d'utiliser composer à la place.
AturSams
@Chris Moschini Semble que vous pouvez m'aider. Regardez ceci: stackoverflow.com/questions/52091827/…
Success Man
devons-nous installer le compositeur dans chaque projet, j'ai installé le compositeur à l'aide de leur programme d'installation
Sushant Bhargav
151

J'ai eu le même problème sous Windows et j'ai utilisé une solution différente. J'ai utilisé le fichier d'installation Composer_Setup.exe fourni par le site Web du compositeur et il effectue une installation globale .

Après l'installation, assurez-vous que votre variable PATH pointe vers le répertoire où composer.phar est stocké. C'est généralement le cas C:\ProgramData\ComposerSetup\bin( ProgramData peut être un répertoire caché ). Il va sans dire, mais assurez-vous également que l'exécutable PHP est également dans votre variable PATH.

Vous pouvez alors simplement appeler

composer install

au lieu de

php composer.phar install
The Unknown Dev
la source
6
Cela fonctionne enfin, je ne comprends pas pourquoi je ne trouve ces informations nulle part sur le site du compositeur ....
Henning Fischer
4
Je vous remercie! Cela n'est pas mentionné dans la section "Utilisation de base" dans les documents Composer. Getcomposer.org/doc/01-basic-usage.md#installing-dependencies
Nick Rolando
Cela fait plus de deux ans depuis cette réponse, et les documents n'ont toujours pas été mis à jour, j'ai donc eu le même problème. Merci!
Andy Mercer
105

Contexte

Il est utile de savoir qu'il existe deux façons d'installer (et d'utiliser) Composer: localement en tant que fichier dans le répertoire de votre projet, ou globalement tant qu'exécutable à l'échelle du système.

Installer Composer localement signifie simplement que vous téléchargez un fichier ( composer.phar- qui est une archive PHP ) dans votre répertoire de projet. Vous devrez le télécharger pour chaque projet nécessitant Composer.

Comme un fichier PHP standard que vous souhaitez exécuter sur la ligne de commande, vous devrez l'exécuter avec PHP:

php composer.phar update

Ce qui indique essentiellement à l' phpexécutable d'exécuter le fichier composer.pharavec updatecomme argument.

Cependant, si vous l'installez globalement , vous pouvez rendre le compositeur lui-même exécutable, vous pouvez donc l'appeler sans php (et ne pas avoir à le télécharger pour chaque projet). En d'autres termes, vous pouvez utiliser le compositeur comme ceci:

composer update

Puisque vous exécutez php composer.phar updateet que vous obtenez l'erreur Could not open input file: composer.phar, vous n'avez probablement pascomposer.phar dans votre répertoire actuel.

Solution

Si Composer est installé dans le monde, exécutez simplement composer updateau lieu de php composer.phar update.

Si vous n'avez pas encore installé Composer, téléchargez le PHAR à l'aide de la commande suivante:

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

Cela va télécharger le programme d' installation et l'exécuter en utilisant php. Le programme d'installation téléchargera le Composer PHAR réel dans votre répertoire de travail actuel et le rendra exécutable.

Pour installer Composer globalement (je le recommande), copiez le fichier dans un emplacement de votre PATH. L'emplacement exact diffère selon le système d'exploitation et la configuration, voir https://getcomposer.org/doc/00-intro.md#globally pour plus d'informations.

Personnellement, je préfère installer Composer dans mon répertoire personnel, donc je n'ai pas besoin sudod'installer ou de mettre à jour l' composerexécutable (ce qui peut être un risque pour la sécurité). Comme je suis sous Linux, j'utilise la commande suivante:

mv composer.phar ~/.local/bin/composer
Nic Wortel
la source
1
J'aimerais pouvoir mettre à jour cette réponse plus d'une fois. En plus de répondre à la question, il clarifie la question de la différence entre l'installation locale et globale de Composer. Merci pour ça.
NaijaProgrammer
49

Si quelqu'un d'autre est arrivé si bas sur la page et n'a toujours pas trouvé de réponse (comme moi), utilisez ceci:

$ 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 voilà! Un compositeur qui travaille :-)

Stan Smulders
la source
Merci, agent Smulders. ;)
Steven Ventimiglia
Cela a fonctionné pour moi, mais j'ai dû changer une ligne pour qu'elle fonctionne correctement $ alias composer = '/ usr / local / bin / composer'
Steph Moreau
Sur mon Mac OS XI, j'ai ajouté la commande alias à mon .bash_profile. Cela rendra l'alias persistant pour les nouvelles sessions de terminal.
noctufaber
1
La deuxième ligne ne fonctionne pas mv composer.phar /usr/local/bin/composer.phar. J'obtiens une erreur: mv: regular File '/usr/local/bin/composer.phar'impossible à installer: droits manquants.
Peter
12

J'ai trouvé que cela fonctionnait car je n'avais pas installé de boucle. Sur Windows 8 avec XAMPP installé. Il l'ajoutera à votre build local J'utilise .gitignore pour éviter le repo

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

Je l'ai eu d'ici: https://getcomposer.org/download/

purencool
la source
12

Pour résoudre ce problème, la première chose que vous devez faire est d'obtenir la dernière version de composer:

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

Je vous recommande de déplacer le fichier composer.phar vers un répertoire global "bin", dans mon cas (OS X) le chemin est:

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

que ce dont vous avez besoin pour créer un fichier d'alias pour un accès facile

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

Si tout va bien, il est maintenant temps de vérifier notre version Composer:

composer --version

Rendons le compositeur génial à nouveau.

Achref Gassoumi
la source
10

Cela a fonctionné pour moi:

composer install

Sans pour autant

php composer install
Mohamed Fanane
la source
même sans extension? De plus, veuillez ajouter 4 espaces d'indétation à vos lignes de code afin qu'elles soient formatées en code
YakovL
4

Hier, j'essayais d'installer le framework Yii2 sur Windows 10 et j'ai le même problème (impossible d'ouvrir le fichier d'entrée: composer.phar) en exécutant cette commande:

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

Le problème est que le fichier composer.phr n'est pas dans le répertoire actuel, vous devez donner le chemin complet composer.phr comme

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

Ou vous pouvez créer un projet yii2 en utilisant cette commande:

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

Ou

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

Utilisez ceci :

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

J'ai eu le même problème. Il est résolu lorsque j'ai rendu le compositeur disponible dans le monde entier. Maintenant, je suis capable de régler les commandes de n'importe où dans le dossier.

composer update

composer require "samplelibraryyouwant"

Kiren Siva
la source
3
Cela ne fournit pas de réponse à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire sous son article.
Bas van Stein du
@BasvanStein Cela semble être une tentative de réponse. Si vous pensez que cette réponse est fausse, vous pouvez la rejeter.
Artjom B.
2

Réponse facile, accédez au répertoire où vous avez déjà le fichier composer.json que vous souhaitez exécuter (idéalement votre dossier de projet), puis téléchargez composer dans le même dossier, puis exécutez instantanément la commande d'installation comme suit:

 php composer.phar install

Cela trouvera automatiquement le fichier composer.json et exécutera vos scripts requis. Bonne chance. Ce truc est un jeu d'enfant pour les assistants terminaux et totalement bizarre pour le reste d'entre nous

ColossalChris
la source
2

J'utilise Windows 8.0. Dans mon cas, pour installer ou mettre à jour, j'utilise simplement installer compositeur ou autre chose au lieu de php composer.phar. Cela a fonctionné pour moi comme

composer require google/apiclient:1.*
bicky
la source
2

Salut les amis, suivez les étapes pour résoudre ce problème dans MAC OS

  • Étape 1: exécutez d'abord la commande dans Terminal avec votre répertoire de projet

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

  • Étape 2: déplacer le composer.phar dans le répertoire de votre projet

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

  • Étape 3: Configurer alias le compositeur

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

  • Étape 4: Vérifiez la version du compositeur maintenant

    $ composer --version

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

  • Étape 5: Confirmez les dossiers de projet et le fichier placés sur le soufflet

    $ ls

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

  • Étape 6: Maintenant, mettez à jour le compositeur

    Mise à jour de $ composer.phar

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

  • Étape 7: exécutez votre exemple de projet

    $ 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
la source
1

entrez la description de l'image ici

votre composer.phar doit être placé de la manière ci-dessus.

hizbul25
la source
J'utilise windows8 et j'ai installé exe de composer comme sur getcomposer.org/download . Ensuite, j'ai copié le fichier composer.phar dans mon projet selon la structure que vous avez montrée. Les fichiers composer.json et composer.lock étaient déjà là car c'était le téléchargement par défaut du paquet symfony. Après avoir fait cela lorsque j'ai exécuté la commande composer udpate, cela a pris environ une demi-heure mais pas encore terminé. Qu'est-ce qui ne va pas? Veuillez suggérer. Merci d'avance!
user3291745
ok, utilisez-vous cmd pour la commande? vous devez donc changer le répertoire dans le bon sens. Mieux fournir votre structure de répertoire avec capture d'écran.
hizbul25
Stackoverflow ne me permet pas de télécharger une image car je suis juste un utilisateur nouveau-né avec moins de points ou de réputation. J'exécute la commande de mise à jour du compositeur dans le répertoire C: \ wamp \ www \ Symfony \ et dans ce répertoire, je peux voir les dossiers composer.phar, composer.json, composer.lock, bin, vendor, src et web.
user3291745
C: cd wamp \ www \ Symfony
hizbul25
à cet égard, le développeur suggère toujours linux pour php / python / ruby. :)
hizbul25
1

Pour Windows, j'ai créé composer.cmd et utilisé le texte ci-dessous:

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

où composer.phar est installé et c: \ programmes \ php \ est ajouté à mon chemin.

Je ne sais pas pourquoi cela ne se fait pas automatiquement.

TamusJRoyce
la source
1

Pour Windows10 Pro, les étapes suivantes résolvent le problème. sélectionnez les propriétés, cochez l'option Débloquer le programme. exécutez le programme d'installation, exécutez la commande CMD avec les droits d'administrateur. À l'invite de commande, exécutez composer --versionpour vous assurer qu'il est installé globalement. vous devriez maintenant pouvoir l'exécuter composer require drush/drushC'est pour la dépendance drush à l'aide de composer.

Narayan P
la source
1

Ouvrez simplement cmd en tant qu'administrateur et allez dans votre dossier de projet et vérifiez qu'il fonctionne ou non en utilisant la commande composer.

L'erreur ci-dessus est due au fait que le compositeur n'est pas accessible globalement. Vous devez donc exécuter "cmd" en tant qu'administrateur.

Cela fonctionne bien pour moi.

Shukla Saurabh
la source
1

Exécutez ce qui suit en ligne de commande:
curl -sS https://getcomposer.org/installer | php

Loup
la source
0

Votre composer.phar doit être dans les fichiers source. J'ai eu le même problème et je viens de couper mon composer.phar dans mon dossier framework-standard-edition , où se trouve tout mon projet de texte fort .

Lackeeee
la source
0

si le composeur est déjà installé, tout ce dont vous avez besoin est de savoir où se trouve le fichier composer.phar (son répertoire) après cela, vous passez à votre projet symfony où vous avez le composer.json et à partir de ce répertoire, vous exécutez votre fichier composer.phar. Dans Windows, voici ce que vous devez faire.

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

C'est tout

aidant
la source
0

J'ai atteint ce problème en essayant d'installer Composer sur une machine Windows 7 à partir de la page http://getcomposer.org/download . Comme il existait une version de composition existante (fournie par l'outil de bureau acquia Dev), l'installation échoue et la seule chance était de résoudre ce problème manuellement. (ou pour supprimer le compositeur d'outils Dev Desktop).

Quoi qu'il en soit, le message d'erreur est assez simple (impossible d'ouvrir le fichier d'entrée: composer.phar), nous devons alors indiquer au système où se trouve le fichier.

Modifiez le fichier composer.bat et devrait ressembler à:

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

Voir que composer.phar n'a pas de chemin de fichier. Lorsqu'il se trouve dans un dossier différent de celui où se trouve composer.phar, le système ne pourra pas le trouver. Donc, complétez simplement le chemin du fichier composer.phar:

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

Rouvrez votre console de fenêtre et cela devrait faire l'affaire.

EDIT: cela a un problème car il utilise toujours le dossier% ~ dp0% composerScript% comme exécution du compositeur. Ensuite, toutes les configurations sont effectuées dans ce dossier (en plus de se tenir sur votre dossier de projet actuel) et non dans votre dossier de projet.

Jusqu'à présent, je n'ai pas trouvé un moyen de faire une installation manuelle du compositeur pour fonctionner globalement sur Windows. Peut-être devriez-vous aller de l'avant avec l'installation de composer pour Windows mentionnée ci-dessus.

mariano_c
la source
0

N'accédez pas au compositeur par composer composer.pher install

utiliser l'installation du compositeur

abey
la source
0

Vous pouvez simplement essayer cette commande si vous avez déjà installé le Composer:

composer update 

ou si vous voulez ajouter un paquet à votre compositeur, essayez ceci:

composer require "/../"
jabir
la source
0

utiliser le compositeur seul sans php

comme :

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

J'ai résolu le même problème avec les étapes ci-dessous

  1. Ouvrir le répertoire du projet à l'aide de Terminal ( que vous utilisez, c'est-à-dire mintty )
  2. Installez maintenant le compositeur dans ce répertoire selon les instructions données sur https://getcomposer.org/download/

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

php -r "if (hash_file ('SHA384', 'composer-setup.php') === 'le code de hachage fourni') {echo 'Installer vérifié';} else {echo 'Installer corrompu'; unlink ('composer-setup.php');} echo PHP_EOL; "

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

  1. Exécutez maintenant votre commande.

Tout fonctionne bien maintenant car le composer.pharfichier est disponible dans le répertoire du projet en cours.

Merci

Anoop Saini
la source
0

Avec moi, cela fonctionne juste vous avez besoin du fichier composer.pharet composer.jsondans le projet en cours. La commande est

php composer.phar update 
isiariana
la source
0

Commande comme ceci:

composer.phar require intervention/image

erreur: composer.phar: commande introuvable

J'ai résolu le problème en suivant ce processus

j'ai défini le compositeur globalement et renommé composer.pharpour composerensuite exécuter cette commande composer require intervention/image. et maintenant ça marche bien

Mamunur Rashid
la source
0

Je sais que ma réponse est peut-être trop spécifique pour un serveur QNAP intégré, mais j'ai fini ici en essayant d'installer Yii:

Pour moi, à l'intérieur d'un NAS QNAP via PuTTY, après avoir essayé toutes les astuces ci-dessus et mis à jour PATH en vain, la seule ligne cmd qui fonctionne est:

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

Bien sûr, adaptez votre chemin en conséquence ...

Si je fais un which composer, j'ai une bonne réponse, mais si je fais un which phprien ne revient.

A part ça, essayer de courir

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

ou se référant à

composer.phar

n'a pas fonctionné aussi ...

Marcelo Scofano
la source