无法自我更新作曲家?

时间:2016-06-12 09:42:28

标签: php composer-php

我正在尝试更新作曲家而没有运气!

我尝试过:

$ 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
  

使用包信息加载作曲家存储库更新   依赖项(包括require-dev)                                                                                                                                    [RuntimeException的]
  无法加载包rmrevin / yii2-fontawesome in   http://packagist.org:[UnexpectedValueException]无法解析   版本约束v4.1。:无效的版本字符串“v4.1。
  [UnexpectedValueException]
  无法解析版本约束v4.1。:无效的版本字符串   “4.1版

有关如何解决此问题的任何想法?

我的php版本是:

php --version
  

PHP 5.6.11-1ubuntu3.4(cli)版权所有(c)1997-2015 PHP小组   Zend Engine v2.6.0,版权所有(c)1998-2015 Zend Technologies       Zend Technologies的Zend OPcache v7.0.6-dev,Copyright(c)1999-2015,

我的作曲家版本是:

composer --version
  

Composer版本@ package_branch_alias_version @(@ package_version @)   @release_date @

12 个答案:

答案 0 :(得分:15)

根据@JimL评论,我能够通过以下方式自我更新作曲家:

现在它按预期工作。

答案 1 :(得分:7)

正如@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移动到路径中的目录(fom https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx):

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

从任何目录执行composer。这就是全部!

PS:如果您正在使用PHPStorm(或其他IDE),则必须关闭它并再次打开。

答案 2 :(得分:3)

您可以在设置作曲器时指定安装目录和文件名-php composer-setup.php,如下所示:

sudo php composer-setup.php --install-dir=/usr/bin --filename=composer

答案 3 :(得分:1)

SELECT 
  CreatedDate
, ID from MyTable 
WHERE CreatedDate BETWEEN '2019-05-01' and '2019-05-30'

它正在工作。

答案 4 :(得分:1)

我已经安装了brew,它为我节省了很多。 先安装brew,然后brew install composer安装作曲家。

答案 5 :(得分:1)

如果您使用的是旧版本的 Composer,则需要执行以下命令:

composer -V
sudo apt remove composer
cd /tmp
wget http://getcomposer.org/download/1.10.5/composer.phar

php composer.phar -V
sudo mv composer.phar /usr/bin/composer
sudo chmod 750 /usr/bin/composer
composer -V

答案 6 :(得分:0)

安装最新版本:

删除作曲家: 例如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') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { 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

答案 7 :(得分:0)

  • 以上所有答案都存在一些问题,目前尚不清楚 理解。系统崩溃并重新启动后。

  • 使用系统软件包带有apt-get的默认作曲器安装
    安装1.6
    版本,该版本未提供默认命令
    自更新composer.phar 文件

  • 因此,解决此问题的方法是手动清除默认的作曲者和Follow this Blog

答案 8 :(得分:0)

它对我有用(Linux,Ubuntu 20.04):

sudo apt-get remove composer
sudo apt-get update
sudo apt-get install curl
sudo curl -s https://getcomposer.org/installer | php
sudo mv composer.phar /usr/bin/composer

答案 9 :(得分:0)

已经有很多答案了,想分享一下我的经验。

我使用的是 Ubuntu 20.04,我之前的 Composer 版本是 Composer 2.0.11,我的项目要求是 Composer 2.1.15

我不需要删除任何东西,我只是使用了以下命令,它对我来说效果很好:)

Composer Update

答案 10 :(得分:-1)

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '8a6138e2a05a8c28539c9f0fb361159823655d7ad2deecb371b04a83966c61223adc522b0189079e3e9e277cd72b8897') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
IN LINUX: which composer -> /usr/bin/composer
sudo php composer-setup.php --install-dir=/usr/bin --filename=composer
Checked version: compsoer --version or composer
php -r "unlink('composer-setup.php');"
done!

答案 11 :(得分:-2)

通过以下步骤安装最新的Composer:

卸载Composer

sudo apt-get remove composer

运行以下命令

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

在/ usr / bin目录中安装Composer,以从任何地方运行composer

sudo php composer-setup.php --install-dir=/usr/bin --filename=composer

删除安装程序

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

要检查或自行更新

composer self-update