管理多个Solidity编译器版本。
项目描述
# solc-select 一个快速切换Solidity编译器版本的工具。
该工具分为两个命令行工具:- solc-select: 管理安装和设置不同的 solc 编译器版本 - solc: 包裹在 solc 中的工具,根据通过 solc-select 设置的版本选择正确的版本
solc 二进制文件从 https://binaries.soliditylang.org/ 下载,该网站包含许多历史和现代 solc 版本的官方工件,适用于Linux和macOS。
版本化的二进制文件存储在 ~/.solc-select/artifacts/ 中。
## 快速开始
` pip3 install solc-select `
要自动安装和使用版本,运行 solc-select use <version> –always-install。
### 在ARM(Mac M1/M2)上运行
solc 需要安装Rosetta。请参阅[如何安装Rosetta](#oserror-errno-86-bad-cpu-type-in-executable)的FAQ。
## 使用方法
可以使用 solc-select use <version> 命令设置 solc 的全局版本: ` $ solc --version solc, the solidity compiler commandline interface Version: 0.5.2+commit.1df8f40c.Linux.g++ $ solc-select use 0.4.24 Switched global version to 0.4.24 $ solc --version solc, the solidity compiler commandline interface Version: 0.4.24+commit.e67f0147.Linux.g++ `
使用环境变量 SOLC_VERSION 覆盖全局版本: ` $ solc --version solc,Solidity 编译器的命令行界面 版本:0.4.24+commit.e67f0147.Linux.g++ $ SOLC_VERSION=0.5.2 solc --version solc,Solidity 编译器的命令行界面 版本:0.5.2+commit.1df8f40c.Linux.g++ `
您可以使用 solc-select install 列出所有可用的版本: ` $ solc-select install 可用版本:0.3.6 0.4.0 ... 0.8.0 0.8.1 `
并使用 solc-select install <version> 安装所需的版本: ` $ solc-select install 0.8.1 安装 '0.8.1'... 版本 '0.8.1' 已安装。 `
您还可以使用 solc-select install latest 安装最新版本,并使用 solc-select use latest 使用最新版本。
显示当前已安装的版本: ` $ solc-select versions 0.8.0 0.4.2 (当前版本,由 /Users/artur/.solc-select/global-version) `
## 获取帮助
请随时访问我们的 [Slack 频道](https://empirehacking.slack.com/) 获取有关使用或扩展 solc-select 的帮助。
## 常见问题解答
### OSError: [Errno 86] Bad CPU type in executable
在新版本的 solc-select 中,这可能会显示为 solc 的 macOS 二进制文件仅支持 Intel。请安装 Rosetta 以继续在您的 Mac 上。
solc 需要 Rosetta 才能安装。要查看您的 Mac 上是否已安装 Rosetta,请运行
`bash pgrep -q oahd && echo Rosetta is installed || echo Rosetta is NOT installed `
如果没有安装,可以使用以下命令安装
`bash /usr/sbin/softwareupdate --install-rosetta --agree-to-license `
### 运行 solc-select use [version] 或设置 SOLC_VERSION 后 solc-version 未更改
请卸载您机器上的其他 solc 安装。 solc-select 重新安装操作系统上的 solc 二进制文件,并作为 solc 的包装器。在重复安装 solc 的情况下,这可能会导致您的 solc 版本不是最新的。
### Windows 上的“不支持的平台”
支持 Windows 的 solc-select 版本目前处于测试阶段。通过 pip3 uninstall solc-select 卸载 solc-select,然后运行
`bash pip install solc-select==1.0.0b1 `
或者,对于最新版本,克隆此存储库并运行 `bash pip install . --user `
## 已知问题
### 运行 solc-select 命令时出现 SSL: CERTIFICATE_VERIFY_FAILED [调查中]
OS X `bash pip3 install certifi /Applications/Python\ 3.8/Install\ Certificates.command `
OS X 上的 Python 发行版没有证书,无法验证 SSL 连接,这是 Python 3.6 中引入的破坏性更改。有关更多详细信息,请参阅 [StackOverflow](https://stackoverflow.com/a/42334357) 帖子。
### [调查中] 连接被拒绝
`bash pip3 uninstall solc-select pip3 install solc-select==0.2.0 solc-select install `
尝试降级到 solc-select 版本 0.2.0。
我们的 0.2.1 版本的 solc-select 从 [crytic/solc](https://github.com/crytic/solc) 拉取了较旧的 Linux 二进制文件,这在某些情况下似乎引入了意外的行为。
### solc-select 版本更改,但 solc –version 不匹配
用户似乎遇到了以下命令成功的情况: ` solc-select use <version> ` 然而,当运行以下命令时,它指向了较旧的 Solidity 版本。 ` solc --version `
solc-select 旨在与自定义二进制文件一起使用。这意味着通过其他方式安装的 Solidity(例如: brew install solidity)将 _不会_ 工作!。
请从您的计算机中卸载其他版本 Solidity。
## 许可证
solc-select 已授权并按照 [AGPLv3](LICENSE) 许可证进行分发。如果您需要许可条款的例外,请联系我们。[联系我们](开源@trailofbits.com)。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源代码分发
构建分发
solc-select-1.0.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | db7b9de009af6de3a5416b80bbe5b6d636bf314703c016319b8c1231e248a6c7 |
|
MD5 | 1e430e6a4e5c2d8f555a710a3af61692 |
|
BLAKE2b-256 | 60a02a2bfbbab1d9bd4e1a24e3604c30b5d6f84219238f3c98f06191faf5d019 |
solc_select-1.0.4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9a28b8a612ff18a171929d23e2ed68a6263f4e11784fc47fa81476a3219874cb |
|
MD5 | e68a64bb00f849295657dfdb641145e4 |
|
BLAKE2b-256 | 27a6e2b2529f77431bd610de0a09d633768e9538f986fa606180b3b9a4a05a89 |