给 composer 的 vendor 目录瘦个身

VendorCleaner

VendorCleaner 是一个 vendor 目录的清理程序。编写此工具的初衷是有许多朋友一直在抱怨 laravel 的 vendor 目录太过臃肿,事实上 vendor 目录中确实存在许多运行时非必要的文件。VendorCleaner 可以帮助你快速的缩减 vendor 目录的体积。并且,它可以工作在任何使用 Composer 的框架中,而不仅仅局限于 laravel


在什么情况下使用 VendorCleaner?

  • 由于主机商的限制无法在部署阶段使用 Composer,需要由本地打包 Vendor 目录上传。
  • Composer 默认安装的 Vendor 目录存在部分非必要文件,造成 Vendor 目录臃肿。

是否有框架限制?

  • 没有。
  • 任何使用 Composer 的项目均可使用。

使用效果如何?

  • laravel-4.1 下进行测试,Vendor 目录瘦身近50%。

如何使用此项目?

在 composer.json 文件中申明依赖:

"five-say/vendor-cleaner": "1.*"

在 composer.json 文件 scripts 属性中加入对应的脚本事件回调:

"scripts": {
    ...
    "pre-update-cmd": [
        "FiveSay\\VendorCleaner::restore"
    ],
    "post-update-cmd": [
        "FiveSay\\VendorCleaner::backup",
        ...
    ],
    ...
},

如此,在每次 update 操作时都将触发 vendor 目录的清理程序。

注意: FiveSay\\VendorCleaner::backup 负责在每次更新后清理 Vendor 目录,清理完成后将在 Vendor 同级目录生成 VendorCleanerBackup 文件夹,用于存放清理出来的文件。而 FiveSay\\VendorCleaner::restore 则会在每次更新前将备份的文件放回 Vendor 目录,以确保 Composer 不会下载多余的文件,加快更新速度。

如何自定义清理规则?

默认使用的规则文件位于 /vendor/five-say/vendor-cleaner/src/FiveSay/VendorCleaner/VendorCleaner.config.php。如果需要使用自定义的规则,在 Vendor 同级目录建立自定义的 VendorCleaner.config.php 即可(注意:这将完全使用用户自定义规则,而忽略默认规则文件)。

这里有一个简单的例子:

'ircmaxell/password-compat' => 'README.md test'

表示:清理 ircmaxell/password-compat 资源包中的 README.md 文件和 test 目录。

项目主页

5-say/VendorCleaner

转载于:https://my.oschina.net/5say/blog/202236

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值