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

VS Code中运行Foundry部署Solidity合约脚本报错求解决

Foundry部署SimpleStorage合约路径错误解决方法

核心问题分析

你遇到的错误本质是部署脚本路径错误+forge-std库安装方式不符合Foundry规范,手动创建大写Lib文件夹并放入forge-std的操作违反了Foundry的默认路径约定。

正确操作步骤

1. 规范安装forge-std库

回到项目根目录~/src,执行官方标准安装命令,Foundry会自动创建符合要求的小写lib目录并拉取依赖:

forge install foundry-rs/forge-std

不要手动创建Lib文件夹,Foundry默认识别小写lib目录作为依赖库存放位置。

2. 调整文件目录结构(遵循Foundry标准)

将文件放到以下标准路径:

~/src/
├── contracts/          # 存放业务合约
│   └── SimpleStorage.sol
├── script/             # 存放部署脚本
│   └── DeploySimpleStorage.s.sol
└── lib/
    └── forge-std/      # 由forge install自动生成的依赖库

绝对不要把部署脚本放到lib/forge-std目录下,这是依赖库的专属目录。

3. 修正部署脚本的合约引用

打开script/DeploySimpleStorage.s.sol,确保合约引用的相对路径正确:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

import "forge-std/Script.sol";
import "../contracts/SimpleStorage.sol"; // 从script目录指向contracts目录的相对路径

contract DeploySimpleStorage is Script {
    function run() external {
        vm.startBroadcast();
        SimpleStorage ss = new SimpleStorage();
        vm.stopBroadcast();
    }
}

4. 执行正确的部署命令

在项目根目录执行以下命令(根据需求添加链上参数):

# 本地测试部署
forge script script/DeploySimpleStorage.s.sol

# 广播到测试链/主链(需替换RPC地址和私钥)
forge script script/DeploySimpleStorage.s.sol --rpc-url YOUR_RPC_URL --private-key YOUR_PRIVATE_KEY --broadcast

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 00:37:20