Skip to main content
 首页 » 编程设计

composer-php之如何使用Composer忽略目录

2024年10月25日9mfrbuaa

我想发布一个PHP库并将其提交到Packagist上,以使其可以通过Composer安装。

我的图书馆具有以下结构:

lib/ 
tests/ 
composer.json 
README.md 

基本上,每当我将此库包含在项目的 composer.json中时,我都希望复制所有内容,但 tests目录异常(exception),该目录很麻烦,仅在开发库本身时才需要。否则,这只会​​浪费空间(尤其是在打包项目进行生产时)。

是否可以从库的 composer.json中排除此目录?

请您参考如下方法:

这在Composer中是不可能的。但是,有一些方法可以做到这一点:

  • 当您使用--prefer-dist运行update或install命令时,Composer尝试在github上下载存档。您可以通过将测试目录放到项目的根目录下的.gitattributes文件中来从归档文件中删除该目录:
    Tests/ export-ignore 
    
  • Composer将仅使用github上的标签。创建标签时只是临时删除测试目录也可以解决问题。