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

如何让Hardhat下载并导入外部依赖合约进行编译?

Scaffold-Eth + Hardhat 外部合约依赖导入解决方案

一、正确安装所有依赖包

Scaffold-Eth默认用Yarn管理依赖,直接执行以下命令安装:

1. OpenZeppelin 合约

yarn add @openzeppelin/contracts

你原代码里的OpenZeppelin导入路径是正确的,无需修改。

yarn add @chainlink/contracts

Chainlink的导入路径也没问题,保持原样即可。

3. PRBMath 合约

你之前安装时用错了包名,正确的包是@prb/math,不是@paulrberg/prb-math。执行这条命令安装指定版本:

yarn add @prb/math@2.5.0

安装完成后,把PRBMath的导入语句改成以下格式,匹配包内的文件路径:

import "@prb/math/contracts/PRBMathSD59x18.sol";

二、验证并重新编译

  1. 检查项目根目录的node_modules文件夹,确认@prb、@openzeppelin、@chainlink三个目录都存在,且内部文件结构和你的导入路径对应。
  2. 用Scaffold-Eth的命令重新编译部署:
yarn deploy

三、常见问题排查

  • 如果仍然报导入错误,查看hardhat.config.js中的paths配置,确保Hardhat能识别node_modules里的合约——默认是自动识别的,若你修改过配置,注意不要排除node_modules目录。
  • 若Yarn安装失败,清除缓存后重新安装:
yarn cache clean
yarn install

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 03:30:57