web-dev-qa-db-fra.com

Impossible de mettre à jour automatiquement le compositeur?

J'essaie de mettre à jour composer sans chance!

Ce que j'ai essayé:

$ composer self-update

[InvalidArgumentException]
La commande "auto-mise à jour" n'est pas définie.

$ Sudo -H composer self-update

[InvalidArgumentException]
La commande "auto-mise à jour" n'est pas définie.

$ Sudo apt-get install composer

Lecture des listes de packages ... Terminé Construction de l'arborescence des dépendances Lecture des informations d'état ... Terminé composer est déjà la version la plus récente. Les packages suivants ont été installés automatiquement et ne sont plus nécessaires: libntdb1 linux-headers- 4.2.0-30 linux-headers-4.2.0-30-generic linux-image-4.2.0-30-generic linux-image-extra-4.2.0-30-generic python-ntdb Utilisez 'apt-get autoremove' pour les supprimer.0 mis à niveau, 0 nouvellement installé, 0 à supprimer et 10 non mis à niveau.

J'essaie de me mettre à jour automatiquement composer parce que je suis confronté à ce qui suit chaque fois que j'essaye:

$ composer update

Chargement composer référentiels avec des informations sur le package Mise à jour des dépendances (y compris require-dev) [RuntimeException]
Impossible de charger le package rmrevin/yii2-fontawesome dans http://packagist.org : [UnexpectedValueException] Impossible d'analyser la contrainte de version v4.1. : Chaîne de version non valide "v4.1. "
[Exception inattendue de valeur]
Impossible d'analyser la contrainte de version v4.1. : Chaîne de version non valide "v4.1. "

Des idées sur la façon de résoudre ce problème?

Ma version php est:

php --version

PHP 5.6.11-1ubuntu3.4 (cli) Copyright (c) 1997-2015 Le PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies avec Zend OPcache v7. 0.6-dev, Copyright (c) 1999-2015, par Zend Technologies

Ma composer est:

composer --version

Version du compositeur @ package_branch_alias_version @ (@ package_version @) @ release_date @

20
Waqleh

Selon le commentaire de @JimL, j'ai pu mettre à jour automatiquement composer par:

Maintenant, cela fonctionne comme prévu.

18
Waqleh

Comme l'a dit @Waqleh, vous devez désinstaller composer et l'installer à nouveau. Exécutez d'abord:

Sudo apt-get remove composer

Ensuite, exécutez ces commandes (depuis https://getcomposer.org/download/ ):

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Déplacez maintenant composer.phar vers un répertoire qui se trouve sur votre chemin (fom https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx ):

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

Et exécutez composer depuis n'importe quel répertoire. C'est tout!

PS: Si vous utilisez PHPStorm (ou peut-être d'autres IDE), vous devrez le fermer et l'ouvrir à nouveau.

11
Manolo
Sudo chown -R your_user_name /home/your_user_name/

Sudo apt-get remove composer

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Sudo php composer-setup.php
php -r "unlink('composer-setup.php');"


Sudo mv composer.phar /usr/bin/composer

Et ça marche.

1
Kasia Kasia

installez la dernière version:

supprimer le compositeur: par exemple ubuntu/debian:

Sudo apt-get remove composer

manuel d'installation:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
php -r "unlink('composer-setup.php');"

après un certain temps, vous pouvez mettre à jour et pas besoin d'utiliser le préfixe Sudo:

composer self-update
1
A1Gard