首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Brownie无法在OSX上安装solc

Brownie无法在OSX上安装solc
EN

Ethereum用户
提问于 2020-06-10 05:48:16
回答 1查看 1.2K关注 0票数 3

按照本页面的步骤布朗尼:创建新项目并使用brownie进行编译。遇到以下错误,请说明如何修复。

配置和环境。

  1. Python 3.7.7
  2. .venv> MacBookPro:token $ brownie编译Brownie v1.9.2 - Python开发框架.链接CXX可执行的solc文件“brownie/_cli/_ main __..py”,第58行,主importlib.import_module(f"brownie._cli.{cmd}").main()文件“brownie/_cli/pile.py”中的第37行,主project.load()文件"brownie/project/main.py“中的第656行,加载返回项目(名称,project_path)文件"brownie/project/main.py”中的第160行,在__init__ self.load()文件"brownie/project/main.py“中,第213行,在load self._compile(已更改,self._compiler_config,False)文件"brownie/project/main.py”中,第96行,在_compile optimizer=compiler_config.get(“优化器”,无)中,文件“brownie/project/编译器/__init_..py”,第97行,在compile_and_format find_solc_versions中(solc_sources,install_needed=True,silent=silent)文件“brownie/project/编译器/solidity.py”,第158行,find_solc_versions install_solc(*to_install)文件“brownie/project/编译器/solidity.py”,第90行,install_solc solcx.install_solc(str(版本),show_progress=True)文件"solcx/install.py",第229行,install_solc _install_solc_osx(version,allow_osx,show_progress,solcx_binary_path)文件"solcx/install.py",第374行,在_install_solc_osx“”中,.format(cmd,e.returncode) OSError: make返回的非零退出状态2,同时试图从源构建solc。这可能是由于缺少或不正确版本的生成依赖。关于建议的安装选项:https://github.com/iamdefinitelyahuman/py-solc-x/wiki/Installing-Solidity-on-OSX
EN

回答 1

Ethereum用户

回答已采纳

发布于 2020-06-10 09:30:13

这个问题来自于布朗尼的一种依赖,叫做py-solc-x。来自py-solc-x维基

坚固团队不提供与macOS/达尔文一起使用的二进制文件。出于这个原因,py-solc-x试图通过从源代码构建OSX来安装它。有时,由于一个或多个依赖项的不兼容版本,旧版本的Solidity无法构建。

有两种可能的解决办法:

  1. 通过brew构建
  2. 使用第三方预编译的二进制文件

1.通过自制

构建

Brownie将使用使用brew安装的任何可靠版本:

代码语言:javascript
复制
brew update
brew upgrade
brew tap ethereum/ethereum
brew install solidity

要安装最新的0.4.x / 0.5.x版本的Solidity,还可以分别使用brew安装solidity@4和brew安装solidity@5

要安装旧版本,您可以直接从Github中使用Homebrew公式:

  1. ethereum/homebrew-ethereum中找到提交,它引用您希望安装的版本
  2. 导航存储库,直到在提交时拥有solidity.rb的原始文件链接。
  3. 使用brew安装它:
代码语言:javascript
复制
brew unlink solidity
# e.g. to install v0.5.6
brew install https://raw.githubusercontent.com/ethereum/homebrew-ethereum/1ecf6c60875740133ee51f6167aef9a4f05986e7/solidity.rb

2.安装第三方二进制文件

web3j团队为许多版本的Solidity提供了编译后的OSX二进制文件。使用第三方二进制文件:

  1. Web3j/solidity达尔文-双星下载所需的版本
  2. 将文件重命名为solc-v0.x.y,其中xy对应于次要版本和补丁版本。
  3. 将文件移动到系统上的~/.solcx目录。它现在可以在Brownie上使用了。
票数 2
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/84125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档