yarn autoclean
清理并删除软件包依赖项中不必要的文件。
yarn autoclean [-I/--init] [-F/--force]
autoclean
命令通过删除依赖项中不必要的文件和文件夹来释放空间。它减少了项目 node_modules
文件夹中的文件数量,在直接将包签入版本控制的环境中非常有用。
注意:此命令仅用于高级用例。除非你遇到作为 node_modules
一部分安装的文件数量问题,否则不建议使用此命令。它将永久删除 node_modules
中的文件,这可能会导致包停止工作。
默认情况下,自动清理功能处于 禁用 状态。若要启用该功能,请手动创建 .yarnclean
文件,或运行 yarn autoclean --init
以使用默认条目创建文件。应将 .yarnclean
文件添加到版本控制。
当 .yarnclean
文件存在于某个包中时,将启用自动清理功能。将在以下情况下执行清理:
- 在
install
之后 - 在
add
之后 - 如果运行了
yarn autoclean --force
此清理通过读取 .yarnclean
文件的每一行,并将每一行用作要删除的文件的 glob 模式来执行。
选项
-I/--init
:如果 .yarnclean
文件不存在,则创建该文件并添加默认条目。然后应审核和编辑此文件以自定义要清理的文件。如果文件已存在,则不会覆盖该文件。
-F/--force
:如果存在 .yarnclean
文件,则运行清理进程。如果文件不存在,则不执行任何操作。
默认值
当使用 yarn autoclean --init
命令创建 .yarnclean
文件时,将预先填充一组默认删除项。此默认列表旨在猜测不太需要的内容。无法预测所有现有和未来 NPM 包实际上不需要的所有目录和文件,因此此默认列表可能会导致包无法再工作。
强烈建议你手动检查 .yarnclean
中的默认条目并根据需要进行自定义。
如果你发现自动清理进程删除的是使软件包正常运行所需的文件时,那么你应从 .yarnclean
文件中移除相应的条目。
示例
你决定在 node_modules
中安装的所有依赖项中的所有 YAML 和 Markdown 文件可安全删除。你创建一个包含以下内容的 .yarnclean
文件
*.yaml
*.md
然后运行 yarn install
或 yarn autoclean --force
。清除进程将递归地删除 node_modules/
中的所有 *.yaml
和 *.md
文件(包括嵌套的传递性依赖项)。