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

编译Vyper文件时出现‘path exists outside base folder’错误求助

解决Truffle编译Vyper文件时的"path exists outside base folder"错误

问题原因

这个错误源于Truffle无法定位到正确的Vyper合约文件路径,或是文件路径被识别为根目录绝对路径,超出了项目基础目录范围。

解决方法

  • 确认文件位置:检查VyperStorage.vy是否在项目的contracts目录下。Truffle默认从contracts目录读取合约文件,文件位置错误会直接触发路径问题。
  • 指定Vyper版本与路径:打开truffle-config.js,手动配置Vyper的编译参数(即使没修改过默认配置,也可以补充以下内容):
    module.exports = {
      compilers: {
        vyper: {
          version: "0.3.7", // 替换为你通过pip安装的Vyper版本,可执行`vyper --version`查看
          settings: {}
        }
      }
    };
    
    如果不确定Vyper的全局执行路径,也可以直接指定绝对路径:
    compilers: {
      vyper: {
        executable: "/usr/local/bin/vyper", // 替换为你的Vyper实际安装路径
        settings: {}
      }
    }
    
  • 重新初始化项目:如果是Example Box下载时文件结构损坏,删除当前项目目录,重新执行truffle unbox vyperstorage,进入新目录后再尝试编译。
  • 前置验证:执行truffle compile前,先运行ls contracts命令,确认VyperStorage.vy确实存在于该目录下。

内容的提问来源于stack exchange,提问作者Muhammad Uzair

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 21:24:55