跳转到主要内容

管理多个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_VERSIONsolc-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 (21.3 kB 查看哈希值)

上传日期 源代码

构建分发

solc_select-1.0.4-py3-none-any.whl (20.7 kB 查看哈希值)

上传日期 Python 3

由以下提供支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面