You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code中cache/solidity-files-cache.json反复出现如何解决?

解决VS Code中自动生成cache/solidity-files-cache.json的问题

原因分析

这个solidity-files-cache.json是ethers-rs生态工具生成的缓存文件,用于记录Solidity项目的路径结构、编译依赖等信息,目的是加速后续的文件扫描和编译流程。自动生成的常见触发源:

  • 全局安装的Rust工具:比如foundry(通过foundryup安装)或ethers-solc,这类工具会自动检测系统中的Solidity项目结构并生成缓存。
  • VS Code插件:比如Nomic Foundation官方的Solidity插件,插件在后台扫描项目时会调用ethers-rs的相关模块生成缓存。

解决办法

1. 全局禁用插件触发的缓存

打开VS Code,按Cmd+,(Mac)或Ctrl+,(Windows)打开设置:

  • 搜索Solidity: Cache Enabled,找到对应的Solidity插件(通常是Nomic Foundation的版本),将该选项设置为false。
  • 如果不确定是哪个插件,可暂时禁用所有Solidity相关插件,重启VS Code后验证是否还生成缓存,再逐个排查恢复。

2. 清理全局Rust工具的自动生成

  • 检查全局Rust工具列表:运行cargo install --list,查看是否有ethers-solc或foundry相关工具。
    • 若存在ethers-solc,执行cargo uninstall ethers-solc卸载。
    • 若使用foundry,可在全局配置文件~/.foundry/foundry.toml中添加以下配置禁用缓存:
    [cache]
    enabled = false
    
    或者执行foundryup --uninstall彻底卸载全局foundry(如果不再需要)。

3. 单个项目禁用缓存

如果只想针对特定项目阻止生成:

  • 在项目根目录创建.solc-cache-ignore空文件,ethers-rs相关工具会识别该文件并跳过缓存生成。
  • 若项目使用foundry,直接在foundry.toml中添加[cache] enabled = false配置。

4. 兜底:系统级阻止目录生成

如果以上方法无效,可通过系统命令阻止cache目录创建:

# 先删除已存在的cache目录
rm -rf /Users/matthewpryor/projects/[你的项目名]/cache
# 创建同名空文件占位(工具无法创建同名目录)
touch /Users/matthewpryor/projects/[你的项目名]/cache
# 设置文件为只读,防止被修改或删除
chmod 444 /Users/matthewpryor/projects/[你的项目名]/cache

内容的提问来源于stack exchange,提问作者Matthew Pryor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 08:08:11