无法将作曲家降级到版本 1,也无法在 Magento 2.4.0 上安装弹性套件

Posted

技术标签:

【中文标题】无法将作曲家降级到版本 1,也无法在 Magento 2.4.0 上安装弹性套件【英文标题】:Can't downgrade composer to version 1 and can't install elasticsuite on Magento 2.4.0 【发布时间】:2022-01-21 17:44:18 【问题描述】:

我正在尝试在 Magento 2.4 上安装 elasticsuite 2.10.1,但我需要将我的作曲家降级到版本 1,但我一直卡住。

当我尝试使用composer self-update --1 将作曲家降级到版本 1 时

[Composer\Downloader\FilesystemException]
  Filesystem exception:
  Composer update failed: "/usr/local/bin/composer" could not be written.
  rename(/home/usr/.cache/composer/composer-temp7912166.phar,/usr/local/bin/composer): Permission denied

添加sudo 导致sudo: composer: command not found 我还全局安装了composer并将.phar文件移动到/usr/local/bin/composer

我还运行了composer update --no-plugins,它返回以下内容:

  Problem 1
    - Root composer.json requires dealerdirect/phpcodesniffer-composer-installer ^0.5.0 -> satisfiable by dealerdirect/phpcodesniffer-composer-installer[v0.5.0].
    - dealerdirect/phpcodesniffer-composer-installer v0.5.0 requires composer-plugin-api ^1.0 -> found composer-plugin-api[2.1.0] but it does not match the constraint.
  Problem 2
    - laminas/laminas-dependency-plugin[1.0.0, ..., 1.0.4] require composer-plugin-api ^1.1 -> found composer-plugin-api[2.1.0] but it does not match the constraint.
    - magento/product-community-edition 2.4.0 requires laminas/laminas-dependency-plugin ^1.0 -> satisfiable by laminas/laminas-dependency-plugin[1.0.0, ..., 1.0.4].
    - Root composer.json requires magento/product-community-edition 2.4.0 -> satisfiable by magento/product-community-edition[2.4.0].

在过去的 2 个小时里,我尝试在谷歌上搜索答案,但没有运气,我不知道如何解决问题

【问题讨论】:

为什么不更新依赖项呢? dealerdirect/phpcodesniffer-composer-installer 有一个与 Composer v2 兼容的版本(而 v0.5.0 已经三年了!)。 laminas/laminas-dependency-plugin 自 Magento 2.4.2 起可使用(自 2021 年 2 月起可用) @NicoHaase 我要试一试,我相信我已经尝试过了,但没有运气 【参考方案1】:

如果您真的想要使用 Composer v1(已弃用并且不会永远存在!),您需要在前面加上 sudo 运行降级以避免权限问题。

【讨论】:

我已经尝试过 sudo,它在原帖中提到 - 不过谢谢

以上是关于无法将作曲家降级到版本 1,也无法在 Magento 2.4.0 上安装弹性套件的主要内容,如果未能解决你的问题,请参考以下文章

无法将 React-Native 版本从 0.62 降级到 0.61.4

如何降级 Xcode?

Laravel - 即使 PHP 版本是必需的,也无法安装包

如何将 Angular 项目版本从 12.2.5 降级到 12.2.1?

在 mac 上从 1.1 降级到 OPENSSL 版本 1.0

iOS 13.5.1 已关闭验证,无法降级