Solidity
切換 solc 編譯器版本
我的系統上有
solc
v0.5.2,但我有幾份契約,要求solc
< v0.5,所以我得到錯誤:錯誤:源文件需要不同的編譯器版本
在多個版本之間執行和選擇的最佳方式是
solc
什麼?只需下載
solc
v0.4.25,將其重命名為 egsolc04
並將其移動到/usr/bin/
? 還是有類似虛擬環境的東西solidity
?
您可能對新的 truffle 功能感興趣,可以指定您的solidity 編譯器,https://github.com/trufflesuite/truffle/releases/tag/v5.0.0#user-content-what-s-new-in- truffle-v5-truffle-compile-solidity-specify-your-compiler-version。
至於在 2 之間手動切換,我認為 docker 將是您最好的選擇。
我發現這個 solc 版本切換工具https://github.com/crytic/solc-select很有用。
我的配置經驗:
docker pull trailofbits/solc-select
- 手動將https://raw.githubusercontent.com/crytic/solc-select/master/bin/solc添加到任何位置
- 向所有者添加執行腳本的權限
chmod u+x ...
- 將位置從 2. 添加到 .bash_profile
現在我可以在 Solidity 版本之間切換
solc use ...