Ответ 1
В соответствии с комментарием @JimL я смог самостоятельно обновить композитор:
- Удаление Composer из диспетчера пакетов (apt).
- Я установил его в соответствии с официальной документацией
Теперь он работает так, как ожидалось.
Я пытаюсь обновить композитора без удачи!
Что я пробовал:
$ composer self-update
[InvalidArgumentException]
Команда "самообновление" не определена.
$ sudo -H composer self-update
[InvalidArgumentException]
Команда "самообновление" не определена.
$ sudo apt-get install composer
Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово Композитор уже является новейшей версией. Следующие пакеты были автоматически установлены и больше не требуются: 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 Используйте 'apt-get autoremove', чтобы удалить их. 0 обновлено, 0 недавно установлено, 0 для удаления и 10 не обновлено.
Я пытаюсь самостоятельно обновить композитора, потому что каждый раз, когда я пытаюсь:
$ composer update
Загрузка в репозитории composer информации о пакете Обновление зависимостей (включая require-dev) [RuntimeException]
Не удалось загрузить пакет rmrevin/yii2-fontawesome в http://packagist.org: [UnexpectedValueException] Не удалось проанализировать ограничение версии v4.1.: Неверная строка версии "v4.1."
[UnexpectedValueException]
Не удалось проанализировать ограничение версии v4.1.: недопустимая строка версии "v4.1."
Любые идеи о том, как решить эту проблему?
Моя версия PHP:
php --version
PHP 5.6.11-1ubuntu3.4 (cli) Copyright (c) 1997-2015 PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies с Zend OPcache v7.0.6-dev, Copyright (c) 1999 -2015, от Zend Technologies
Моя версия для композитора:
composer --version
Версия Composer @package_branch_alias_version @(@package_version @) @release_date @
В соответствии с комментарием @JimL я смог самостоятельно обновить композитор:
Теперь он работает так, как ожидалось.
Как сказал @Waqleh, вам нужно удалить composer и установить его снова. Сначала выполните:
sudo apt-get remove composer
Затем выполните эти команды (с 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');"
Теперь переместите composer.phar в каталог, который находится на вашем пути (например, https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx):
sudo mv composer.phar /usr/local/bin/composer
И запустите composer
из любого каталога. Все это!
PS: если вы используете PHPStorm (или, возможно, другие IDE), вам придется закрыть его и открыть снова.
установите последнюю версию:
удалить композитора: например, Ubuntu/Debian:
sudo apt-get remove composer
руководство по установке:
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');"
по прошествии некоторого времени вы можете обновить, и вам не нужно использовать префикс sudo :
composer self-update
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
И это работает.