Brownie
在布朗尼項目的版本中添加帶有“@”的依賴項
我正在嘗試將 superfluid-finance/protocol-monorepo@ethereum_contracts@v1.3.0 添加到我的巧克力蛋糕項目中。
布朗尼-config.yaml:
dependencies: - superfluid-finance/protocol-monorepo@ethereum_contracts@v1.3.0 compiler: solc: remappings: - '@superfluid-finance=superfluid-finance/protocol-monorepo@ethereum_contracts@v1.3.0'
但是,由於版本中有“@”,我得到:
ValueError: Invalid package ID. Must be given as [ORG]/[REPO]@[VERSION]
如何添加版本中包含“@”的依賴項?
正如我在 brownie 的實現中看到的,在提取依賴包 ID 時,它只是簡單地用
@
字元拆分以獲得如下版本:path, version = package_id.split("@")
因此,如果依賴路徑的版本部分包含
@
,則會出錯,並且 brownie 無法從 Github 獲取它。在正常情況下,您可以通過使用
ethereum-contracts
相同的其他版本的 repo 來簡單地解決此問題。但是使用superfluid-finance/protocol-monorepo
repo 是不可能的,因為它的所有版本ethereum_contracts@v1.3.0
仍然包含@
.如果您仍想使用此依賴項,您可以對其進行複製並將發布版本設置為
1.0.0
. Brownie 也可以使用ethPM導入依賴項,但我沒有這方面的經驗,如果需要,可以在此處了解更多資訊。