Php 无法自我更新编写器
我正试图更新作曲家没有任何运气 我所尝试的:Php 无法自我更新编写器,php,composer-php,Php,Composer Php,我正试图更新作曲家没有任何运气 我所尝试的: $ composer self-update [无效辩论例外] 未定义命令“自我更新” [无效辩论例外] 未定义命令“自我更新” 正在阅读软件包列表。。。完成了构建依赖树的阅读 国家信息。。。Done composer已经是最新版本了。这个 以下软件包已自动安装,不再可用 必需:libntdb1 linux-headers-4.2.0-30 linux-headers-4.2.0-30-generic linux-image-4.2.0-30-ge
$ composer self-update
[无效辩论例外]
未定义命令“自我更新”
[无效辩论例外]
未定义命令“自我更新”
正在阅读软件包列表。。。完成了构建依赖树的阅读
国家信息。。。Done 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”
“自动删除”以删除它们。已升级0,新安装0,要删除0
还有10个没有升级
我正在尝试自我更新Composer,因为每次尝试时我都面临以下问题:
$ composer update
使用包信息更新加载composer存储库
依赖项(包括需要开发)
[运行时异常]
无法在中加载包rmrevin/yii2
:[UnexpectedValueException]无法分析
版本约束v4.1.:无效的版本字符串“v4.1”
[意外值异常]
无法分析版本约束v4.1。:版本字符串无效
“v4.1。”
如何解决此问题
我的PHP版本是:
php --version
composer --version
PHP 5.6.11-1ubuntu3.4(cli)版权所有(c)1997-2015 PHP集团
Zend Engine v2.6.0版权所有(c)1998-2015 Zend Technologies
Zend OPcache v7.0.6-dev版权所有(c)1999-2015,由Zend Technologies提供
我的作曲版本是:
php --version
composer --version
作曲家版本@package\u branch\u alias\u version@(@package\u version@)
@发布日期@
自从我发布了我的答案后,我学到了一种新的更简单的编程安装Composer的方法: 旧答案:
根据@JimL注释,我能够通过以下方式自我更新Composer:
- 正在从软件包管理器(apt)卸载Composer
- 我是按照说明书安装的
sudo apt-get remove composer
然后,执行这些命令这里的校验和是针对Composer 1.10.13的,但在运行第一行时,您将获得最新的Composer(编辑此答案时为2.0.4),因此请务必签入:
现在将文件composer.phar移动到路径中的目录(从):
并从任何目录执行composer
。就这些
PS:如果您正在使用(或可能使用其他IDE),则必须先关闭它,然后再打开它。安装最新版本: 删除当前的Composer版本,例如Ubuntu/Debian:
sudo apt-get remove composer
现在,转到并将脚本粘贴到命令行中。这可以确保您获得最新版本的Composer(在撰写本文时为v2.0.7)
像这样:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'c31c1e292ad7be5f49291169c0ac8f683499edddcfd4e42232982d0fd193004208a58ff6f353fde0012d35fdd72bc394') { 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
我已经安装了,它为我节省了很多
安装brew,然后
brew安装composer
安装composer。您可以在设置PHP composer-PHP composer设置时指定安装目录和文件名。PHP
如下:
sudo php composer-setup.php --install-dir=/usr/bin --filename=composer
通过以下步骤安装最新的Composer:
卸载Composer
sudo apt-get remove composer
php -r "unlink('composer-setup.php');"
运行以下命令
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
composer self-update
删除安装程序
sudo apt-get remove composer
php -r "unlink('composer-setup.php');"
检查或自我更新
sudo php composer-setup.php --install-dir=/usr/bin --filename=composer
composer self-update
如果您有旧版本的Composer,则需要遵循以下命令:
composer-V
sudo-apt-remove作曲家
cd/tmp
wgethttp://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
作曲家-V
我建议您卸载它并安装(即不使用apt或任何软件包管理器),您尝试过调试这个问题吗?你最初是如何安装composer的?这对我来说很有效,尽管“官方文档”有点混乱。如果你有Ubuntu 18.04,你可能会发现官方安装方法有一些问题。签出官方文档的问题是,该过程不允许使用常规操作系统更新自动更新Composer。在最后一个取消链接步骤之后,我做到了:sudo php composer-setup.php--install dir=/usr/bin--filename=composer最新版本的校验和不正确。第二个命令删除composer-setup.php,第三个命令失败,因此您确实需要遵循文档中的命令,因为每个新版本都有不同的散列(命令的第二行)并且这个答案中的命令对编辑和审阅者无效:“(大写字母“C”)是专有名词,而不是普通名词(在本文中)。如果超时,我该怎么办?@Black使用vpn确保这不是您的ISP问题不可能。我已经在一个vpn后面,只能通过此vpn访问服务器。您是否打开?防病毒软件或任何工作人员阻止了此网站?您确定php安装为环境应用程序吗?最新的哈希可以在我获取“brew未找到”时找到在运行此命令之前,您必须先安装brew。请参阅“请勿复制现有答案”-给定的步骤与一年前发布的步骤完全相同,并且您的答案不会添加任何新信息。这些信息没有重复。他们有不同的执行方法,但他们的做法不正确。请分享更多详细信息关于这一点-据我所知,A1Gard使用相同的命令。如果其他答案有错误,你应该解释为什么你的答案更好。他们在删除composer设置之前没有在/usr/bin中安装它,这就是为什么它不会成为全局性的。为什么这样的文件应该出现在/usr/bin
?根据,/usr/bin
不应用于通过包管理器以外的任何其他方式安装的二进制文件