Solidity
松露:錯誤:找不到與 0.5.0 匹配的編譯器版本
我想知道為什麼當我到處都有 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
。這很可能是您系統上的文件夾權限的問題,但我無法弄清楚究竟是哪個文件夾。上面的修復對我和其他人有用,我推薦它離線,所以很有可能它也對你有用。