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

标签 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

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

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

最佳答案

要安装具有特定版本的 Composer 包 docs建议使用冒号。
composer require maatwebsite/excel:~2.1.0 --no-update
此外,composer cli 工具 composer help require帮助内容如下:

Required package name optionally including a version constraint, e.g. foo/bar or foo/bar:1.0.0 or foo/bar=1.0.0 or "foo/bar 1.0.0"



因此,要使用空格分隔的版本号,您需要在包/版本组合周围加上引号。那是:
composer require "maatwebsite/excel ~2.1.0" --no-update
也应该为你工作。

关于php - 通过 Composer 只安装单个包而不更新其他包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41316792/

相关文章:

php - 共享内存(shmop) block 系统ID(PHP)是否有任何限制

php - 在 Symfony 4/5 中安装 orm-fixtures 时 Composer 发生冲突

php - Composer 更新不起作用 版本无效

php - Codeigniter 创建目录(如果不存在)

php - 拉拉维尔 4 : DB:select returns rows ordered randomly

javascript - InnerHTML 创建问题,未按正确顺序加载,可能存在处理问题

php - 按子数组键值对多维数组进行排序

laravel - .gitignore 不适用于被忽略文件夹的子文件夹

PHP Composer 总是加载一个类

php - 如何手动使用 composer, artisan ...(Laravel) php 命令