Solidity

松露:錯誤:找不到與 0.5.0 匹配的編譯器版本

  • February 3, 2022

我想知道為什麼當我到處都有 v0.5.0 並執行以下操作時會出現錯誤:

在我的 Action.sol 中:pragma solidity ^0.5.0;

在 Migrations.sol 中:pragma solidity >=0.5.0 <0.6.0;

跑步時truffle compile我得到:

Error: Could not find a compiler version matching 0.5.0. Please ensure you are specifying a valid version, constraint or build in the truffle config. Run `truffle compile --list` to see available versions.

在 test-a-smart-contract-with-truffle/truffle-config.js 中:

 compilers: {
   solc: {
     version: "0.5.0", 

在 /usr/local/bin/truffle:

compilers: {
     solc: {
       version: "0.5.0",
       settings: {
         optimizer: {
           enabled: false,
           runs: 200
         },
         evmVersion: "byzantium"
       }
     },
     vyper: {}
   },

但是當我跑步時,truffle compile --list我得到:

[
"0.5.4",
"0.5.3",
"0.5.2",
"0.5.1",
"0.5.0",
"0.4.25",
"0.4.24",
"0.4.23",
"0.4.22",
"0.4.21",
".. and 38 more. Use `--all` to see full list."
]

就我而言,我執行以下命令來更新松露: npm install -g truffle@5.0.21

通過使用提升的權限執行一次來解決它:sudo truffle compile- 這將下載編譯器,然後您可以繼續使用非提升的命令truffle compile。這很可能是您系統上的文件夾權限的問題,但我無法弄清楚究竟是哪個文件夾。上面的修復對我和其他人有用,我推薦它離線,所以很有可能它也對你有用。

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