【问题标题】:How to force Symfony to use Composer 2如何强制 Symfony 使用 Composer 2
【发布时间】:2022-01-05 11:30:38
【问题描述】:

我的 Symfony 4.4 应用程序是用 Composer 1.x 构建的。现在我需要切换到 Composer 2。但我无法切换,因为 Symfony CLI 无论如何都使用 Composer 1。

我已经安装了 composer1 和 composer2:

# ls -la /usr/local/bin/ | grep composer
-rwxr-xr-x  1 root root  2354438 dic 31 18:06 composer
-rwxr-xr-x  1 root root  2000535 set 16 16:28 composer1

# /usr/local/bin/composer1 --version
Composer version 1.10.22 2021-04-27 13:10:45

# /usr/local/bin/composer --version
Composer version 2.2.3 2021-12-31 12:18:53

但是当我运行symfony composer --version 时,它使用的是composer 1.x。

回到 20 世纪,Fabien wrote

对于 Symfony CLI,运行 symfony composer 检查 composer.lock 文件中使用的 Composer 版本,并尝试查找名为 composer1 或 composer2 的 Composer 二进制文件。

所以问题是我需要更新我的应用程序的composer.lock 以使用composer2。尽管如此,我还是找不到对正在使用的作曲家版本的任何引用。

那么,根据标题:如何更新我的composer.lock 以使用 Composer 2?

【问题讨论】:

  • “我需要更新我的应用程序的 composer.lock 以使用 composer2”——这是什么意思?为什么不简单地使用composer update 来做到这一点?
  • 在否决问题之前,请先阅读symfony composer 的优势,谢谢。
  • 请阅读symfony composer的用法。由于它依赖于检查项目中的锁定文件,我怀疑它可以用来更改要使用的 Composer 版本

标签: symfony composer-php symfony-cli


【解决方案1】:

好的,我通过反复试验发现了。运行就够了

# /bin/php7.4 /usr/local/bin/composer update

(即 composer2 可执行文件)。

作曲家很神奇,现在我明白了

# symfony composer --version
Composer version 2.2.3 2021-12-31 12:18:53

【讨论】:

    猜你喜欢
    • 2013-08-31
    • 1970-01-01
    • 2013-09-09
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    相关资源
    最近更新 更多