Foundry 管理依赖项
本章介绍如何管理 Foundry
项目中依赖项。
git submodules 是 git
版本控制系统中的一个功能,它允许将一个 git
仓库作为另一个 git
仓库的子目录。
forge
使用 git submodules 来管理依赖项,一个 Foundry
项目可以与任何包含智能合约的 git
代码库一起使用。
我们新创建的项目,都默认包含了一个依赖项 forge-std,它就是以 git submodules 的方式进行管理的。
初学者可以暂时跳过本章内容,需要时再来仔细阅读。
添加依赖
在 Foundry
项目中添加一个依赖项,可以运行 forge install:
$ forge install transmissions11/solmate Installing solmate in ".../deps/lib/solmate" (url: Some("https://github.com/transmissions11/solmate"), tag: None) Installed solmate
上述命令将会拉取 github
上的 solmate 库,并暂存在 .gitmodules 文件中。
我们查看当前的 lib 文件夹:
$ tree lib -L 1 lib ├── forge-std ├── solmate └── weird-erc20 3 directories, 0 files
可以看到 forge
在 lib 目录中安装了 solmate。默认情况下,forge install 安装最新的 master 分支版本。
如果要安装一个特定的标签或提交,可以这样做:
$ forge install transmission11/solmate@v7
更新依赖
我们可以使用 forge update,将特定依赖项更新为最新版本。
例如,我们想从之前安装的 solmate 主版本中提取最新的提交,我们可以运行:
$ forge update lib/solmate
或者通过运行 forge update 一次对所有依赖项执行更新。
删除依赖
我们可以使用 forge remove ... 删除依赖项,其中依赖项可以是完整的路径,也可以只是名称。
例如,要删除 solmate,下面两个命令是等价的:
$ forge remove solmate # ... 等同于 ... $ forge remove lib/solmate