处理平台
Node.js 版本
要考虑 Node.js 版本,请使用 package.json 中的 engines 字段。Turborepo 会考虑这个字段的变化并相应地错过缓存。
操作系统、架构和其他任意条件
对于高级用例,你可能希望操作系统(OS)、架构或其他外部因素影响你的哈希值。
1. 将任意文件写入磁盘
首先,创建一个脚本来处理你感兴趣的哈希贡献者。例如,这里有一个 Node.js 脚本,用于识别平台和架构,并将这些详细信息写入文件(turbo-cache-key.json
):
2. 将文件添加到 .gitignore
由于这个文件依赖于环境,你不会想要将它提交到源代码控制中。将它添加到你的 .gitignore
:
3. 将文件添加到哈希
现在,通过将文件添加到任务输入来确保 turbo
知道这个文件。你可以通过两种方式做到这一点:
- 对于特定任务:在任务的 inputs 数组中包含该文件:


- 对于所有任务:将文件添加到
globalDependencies


4. 在运行 turbo
之前生成文件
最后,你需要确保在运行 turbo
之前运行脚本。例如:
turbo run build
现在在计算 build
任务的哈希值时会考虑 turbo-cache-key.json
的内容。