Truffle

安裝不同的 solc 版本

  • June 30, 2021

(目前編譯器是 0.5.16+commit.9c3226ce.Emscripten.clang - 請注意,夜間建構被認為嚴格低於已發布版本 pragma solidity ^0.4.19; ^———— ———-^ 錯誤:Truffle 目前使用的是 solc 0.5.16,但您的一個或多個契約指定“pragma solidity ^0.4.19”。請更新您的 truffle 配置或 pragma 語句.(有關配置 Truffle 以使用特定的 solc 編譯器版本的資訊,請參閱https://trufflesuite.com/docs/truffle/reference/configuration#compiler-configuration 。)編譯失敗。見上文。Truffle v5.3.13(核心:5.3 .13) 節點 v12.18.3

如何安裝舊版本的 solc?我是否需要據此更改松露版本?

在您的 truffle 配置文件中,您可以包含您的編譯器配置並在那裡設置您的 solc 版本。您可以在此處參考文件

module.exports = {
 compilers: {
   solc: {
     version: <string>, // A version or constraint - Ex. "^0.5.0"
                        // Can also be set to "native" to use a native solc
     docker: <boolean>, // Use a version obtained through docker
     parser: "solcjs",  // Leverages solc-js purely for speedy parsing
     settings: {
       optimizer: {
         enabled: <boolean>,
         runs: <number>   // Optimize for how many times you intend to run the code
       },
       evmVersion: <string> // Default: "istanbul"
     },
     modelCheckerSettings: {
       // contains options for SMTChecker
     }
   }
 }
}

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