当前位置: 首页 > 知识库问答 >
问题:

无法自我更新Composer

赵君植
2023-03-14

我正试图更新作曲家没有任何运气!

我所尝试的:

$ composer self-update

[InvalidArgumentExc0019]命令"自我更新"未定义。

$ sudo -H composer self-update

[InvalidArgumentExc0019]命令"自我更新"未定义。

$ sudo apt-get install composer

读取包裹列表...完成构建依赖树读取状态信息...完成作曲家已经是最新的版本。以下软件包已自动安装,不再需要:libntdb1 linux-Headers-4.2.0-30 linux-Headers-4.2.0-30通用linux-Image-4.2.0-30-通用linux-Image-额外4.2.0-30-通用python-ntdb使用apt-get自动删除删除它们。要删除和10不升级。

我试图自我更新作曲家,因为我每次尝试都面临以下问题:

$ composer update

加载具有包信息更新依赖项(包括require dev)[RuntimeException]的composer存储库时无法在中加载包rmrevin/yii2http://packagist.org: [UnexpectedValueException]无法分析版本约束v4.1:无效的版本字符串“v4.1”。[UnexpectedValueException]无法分析版本约束v4.1。示例:无效的版本字符串“v4.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 OPache v7.0.6-dev,版权(c)1999-2015,由Zend Technologies

我的作曲家版本是:

composer --version

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

共有3个答案

逄学潞
2023-03-14

安装最新版本:

删除当前的Composer版本,例如Ubuntu/Debian:

sudo apt-get remove composer

现在,前往https://getcomposer.org/download/ 并将脚本粘贴到命令行中。这可以确保您获得最新版本的Composer(在撰写本文时为v2.0.7)。

像这样:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { 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
宋宇
2023-03-14

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

根据@JimL注释,我能够通过以下方式自我更新Composer:

  • 从包管理器(apt)卸载Composer。
  • 我按官方留档安装的

现在,它的工作如预期。

伏星汉
2023-03-14

正如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

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

 类似资料:
  • 问题内容: 我有如下代码: 但是,不是在每次调用setText时在循环的每次迭代后更新文本区域,而是仅在完成所有任务运行后才更新文本。为什么会发生这种情况,我该如何解决? 问题答案: 您可能正在使用Swing线程,该线程正在等待代码执行才能更新UI。尝试为该循环使用单独的线程。

  • 问题内容: 在我的服务器应用程序中,我正在从Java应用程序连接到受Kerberos保护的Hadoop群集。在应用程序启动时,我会打电话给 我正在使用本机API(例如和)进行基本的File操作 我的应用程序在24小时后引发以下错误。这就是Kerberos票证的到期日。 我的应用程序使用Java 8,并且遇到了此错误。 但是,看起来我的应用程序使用的hadoop- common-2.7.1.2.4.

  • 问题内容: 我在Mac上使用Flask(python软件包)时,第一次写css时显示正常。但是,当我更新它并尝试检查它时,我只看到第一个CSS样式。我尝试重新启动终端,以及重新安装Flask。有什么建议?谢谢。以下是HTML: 这是CSS: 问题答案: 如前所述,问题与浏览器缓存有关。 为了解决这个问题,你可以向静态(css,js)链接中添加一些动态变量。我更喜欢每个文件的上次修改时间戳。 这是一

  • 我一直在通过http post从c客户机向Spring服务器发送一些数据。但是,当我从java客户机发送相同的数据时,就会出现这些错误。 根本原因 在Spring服务器上,我检查了到达的数据是否有任何差异,但它们之间似乎没有差异。为什么会发生这种情况?

  • 我得到这个错误 食品项插入失败无法添加或更新子行:外键约束失败(.,约束外键()在更新级联上引用() 我试图以一种形式将食谱添加到我的数据库中。我希望输入的数据到3个不同的表。配料表、配方表和recipe_compridient表。recipe表中有一个自动增量id作为主键,而配料id作为recipe表中的外键。 我想要配料名称,数据到配料表和名称,课程,指令到配方表加上配料表中的配料ID 要转到

  • 在Symfony 2(最新版本)下,我试图更新我的实体: 我得到了这个错误消息到我的终端: [Symfony\Component\Config\Definition\Exception\InvalidConfigurationException] 无法识别的选项“security.firewalls.access\u control”下的“0、1、2、3” 我是Symfony的新手,我不知道在哪里