PHPackages                             five-say/vendor-cleaner - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. five-say/vendor-cleaner

ActiveLibrary

five-say/vendor-cleaner
=======================

vendor-cleaner

1.0.0(12y ago)116703PHPPHP &gt;=5.3.0

Since Feb 22Pushed 11y ago1 watchersCompare

[ Source](https://github.com/5-say/VendorCleaner)[ Packagist](https://packagist.org/packages/five-say/vendor-cleaner)[ RSS](/packages/five-say-vendor-cleaner/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

VendorCleaner
=============

[](#vendorcleaner)

- vendor 目录清理程序。
    - 本项目原始规则文件源于 [barryvdh/laravel-vendor-cleanup](https://github.com/barryvdh/laravel-vendor-cleanup)。
    - laravel-vendor-cleanup 同样是非常优秀的清理工具，请大家自行选择适用自己的方案。
- 与 laravel-vendor-cleanup 的区别。
    - 不同于 laravel-vendor-cleanup 的硬删除处理，本项目采取了更为保守的备份策略，一来确保操作的安全性，二来不会对 Composer 的更新速度造成不良影响。
    - laravel-vendor-cleanup 仅适用于 laravel-4，而本项目并无框架限制。

---

在什么情况下使用 VendorCleaner？
-----------------------

[](#在什么情况下使用-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 目录。

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4464d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/df0e52523a613099f6f1ef9b2ec55ba4c884f648aed2837cb8f913b7dd5c1a91?d=identicon)[5-say](/maintainers/5-say)

---

Top Contributors

[![5-say](https://avatars.githubusercontent.com/u/6258835?v=4)](https://github.com/5-say "5-say (8 commits)")

### Embed Badge

![Health badge](/badges/five-say-vendor-cleaner/health.svg)

```
[![Health](https://phpackages.com/badges/five-say-vendor-cleaner/health.svg)](https://phpackages.com/packages/five-say-vendor-cleaner)
```

###  Alternatives

[spatie/laravel-backup

A Laravel package to backup your application

6.0k21.8M191](/packages/spatie-laravel-backup)[tightenco/jigsaw

Simple static sites with Laravel's Blade.

2.2k438.5k29](/packages/tightenco-jigsaw)[illuminate/session

The Illuminate Session package.

9937.4M753](/packages/illuminate-session)[laravel-zero/framework

The Laravel Zero Framework.

3371.4M369](/packages/laravel-zero-framework)[laravel/pennant

A simple, lightweight library for managing feature flags.

57311.1M53](/packages/laravel-pennant)[sammyjo20/lasso

Lasso - Asset wrangling for Laravel made simple.

355347.9k](/packages/sammyjo20-lasso)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
