Solc

建構和呼叫特定版本的solidity的正確方法是什麼?

  • November 27, 2019

我收到以下錯誤solc

Error: Source file requires different compiler version (current compiler is 0.4.11-develop.2017.6.22+commit.68ef5810.Darwin.appleclang - note that nightly builds are considered to be strictly less than the released version
pragma solidity 0.4.11;
^---------------------^

為了建構solc,我:

  1. 複製了solidity儲存庫,
  2. 執行git checkout v0.4.11成功獲得了tag/v0.4.11. 3.完成建構過程
  3. 確保solc在我的路上
solc --version
solc, the solidity compiler commandline interface
Version: 0.4.11-develop.2017.6.22+commit.68ef5810.Darwin.appleclang

所以,這是 v0.4.11 版本,但版本號中有今天的日期。這是錯誤的根源嗎?

系統是 macOS Sierra 10.12.5。

我通過 RTFM 解決了我的問題。Mac 使用者應使用 Homebrew 安裝。

安裝 Solidity

brew update 
brew upgrade
brew tap ethereum/ethereum
brew install solidity
brew linkapps solidity

如果您需要特定版本的 Solidity,您可以直接從 Github 安裝 Homebrew 公式。

要安裝特定版本的solidity,請使用:

npm install -g solc@0.4

這將在全球範圍內安裝solidity 編譯器0.4.26(該版本的最新版本)。

或者

npm install -g solc@0.5

然後

$ solcjs --version
> 0.4.26+commit.4563c3fc.Emscripten.clang

引用自:https://ethereum.stackexchange.com/questions/18584