您的openssl扩展不支持SHA384,无法验证phar文件的完整性


81

composer self-update在Windows 10上运行时收到
错误消息这是完整的错误消息

     composer self-update
     Updating to version 1.8.4 (stable channel).
     Downloading (100%)


     [RuntimeException]
    SHA384 is not supported by your openssl extension, could not verify the phar file integrity

我正在跑步PHP 7.3.2 可能是什么问题?


13
您正在使用旧版本的作曲家。尝试将其完全删除,然后从头开始安装最新版本。这是有关此错误消息的Github问题
Magnus Eriksson

1
您需要取消Composer <= 1.7.2的安装,然后安装Composer> = 1.7.3的新版本,以避免以后所有更新类型安装的更新错误
Stephanie Temple

1
@MagnusEriksson重新安装成功
ovicko

或者,您可以先切换回php 7.2,然后运行composer selfupdate。如果成功,则可以切换到PHP 7.3或7.4。
vrgblzs

Answers:


141

删除您的旧版本并安装最新版本的Composer,

删除旧版本: sudo rm -f /usr/local/bin/composer

下载安装程序: sudo curl -s https://getcomposer.org/installer | php

移动composer.phar文件: sudo mv composer.phar /usr/local/bin/composer


7
实际上,甚至不需要删除旧版本。只需安装新的并移动composer.phar
Stalinko

哇,我不知道您可以在Windows上使用sudo ...好答案,我知道目前所有获得投票的地方。
Sl4rtib4rtf4st

在某些机器和安装中,执行命令“ chmod + x / usr / local / bin / composer”以使其可执行也是一件好事。
拉斐尔·帕伦高


7

该错误表示您使用的composer是版本1.7.2或更低版本。您必须先卸载composer,然后再安装一个以上composer版本1.7.3


1

我刚刚在Windows计算机上遇到了同样的问题。我刚刚从https://getcomposer.org/download/下载并安装了Composer ,当我尝试运行php composer-setup.php它时,它失败并显示“您的openssl扩展不支持SHA384”。

对我有用的解决方案是执行命令行安装(在同一站点上记录)。访问https://getcomposer.org/download/以获取最新的SHA。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.