通过 Composer 只安装单个包而不更新其他包

Lak*_*i98 8 php composer-php

我需要将单个 Composer 包安装到项目中 - maatwebsite/excel ~2.1.0. 每次 composer 更新时,它都会更新 composer.json 中的所有包。除了 excel 库之外,如何避免更新包?

我尝试了以下命令,但它们似乎不起作用:

composer require maatwebsite/excel ~2.1.0
composer require vendor/maatwebsite/excel ~2.1.0
composer update maatwebsite/excel ~2.1.0
composer update vendor/maatwebsite/excel ~2.1.0
Run Code Online (Sandbox Code Playgroud)

我也试过使用 --lock 属性,但这也不起作用。

谁能告诉我我做错了什么?

Ros*_*oss 4

要安装具有特定版本的作曲家软件包,文档建议使用冒号。

composer require maatwebsite/excel:~2.1.0 --no-update

另外,composer cli 工具composer help require帮助如下:

所需的包名称可选地包含版本约束,例如 foo/bar 或 foo/bar:1.0.0 或 foo/bar=1.0.0 或“foo/bar 1.0.0”

因此,要使用空格分隔的版本号,您需要将包/版本组合括起来的引号。那是:

composer require "maatwebsite/excel ~2.1.0" --no-update

应该也适合你。

  • 感谢您的快速回答,但同样,在这两种方式中,composer.json 中的所有依赖项都正在更新。 (3认同)