无法自行更新编辑器

2022-08-30 08:04:38

我正在尝试更新作曲家,没有任何运气!

我尝试过:

$ composer self-update

[无效论据例外]未定义命令“自我更新”。

$ sudo -H composer self-update

[无效论据例外]未定义命令“自我更新”。

$ 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,因为我每次尝试时都会遇到以下情况:

$ composer update

加载包含包信息的 composer 存储库 更新依赖项(包括 require-dev) [运行时异常] 无法在 http://packagist.org 中加载包 rmrevin/yii2-fontawesome: [UnexpectedValueException] 无法解析版本约束 v4.1 。:版本字符串“v4.1”无效。[意外值异常]无法解析版本约束 v4.1。:版本字符串“v4.1."

如何解决此问题?

我的PHP版本是:

php --version

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

我的作曲家版本是:

composer --version

作曲家版本 @package_branch_alias_version@ (@package_version@) @release_date@


答案 1

正如Waqleh所说,你必须卸载PHP Composer并重新安装它。首先,执行:

sudo apt-get remove composer

然后,执行这些命令。此处的校验和适用于 Composer 1.10.13,但在运行第一行时,您将获得最新的 Composer(编辑此答案时为 2.0.4),因此请务必签入 https://getcomposer.org/download/

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
php -r "unlink('composer-setup.php');"

现在将文件 composer.phar 移动到路径中的目录(从安装 - Linux / Unix / macOS):

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

并从任何目录执行。就这样!composer

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


答案 2

自从我发布我的答案以来,我学到了一种新的更简单的方法来以编程方式安装 Composer:如何以编程方式安装 Composer?

旧答案:


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

  • 从包管理器中卸载 Composer (apt)。
  • 我根据官方文档安装了它

现在它按预期工作。


推荐