Truffle

松露編譯失敗:無法從任何來源找到文件

  • April 3, 2022

我正在按照本教程的步驟進行操作。我創建了一個簡單的合約 TodoList.sol

pragma solidity ^0.5.0;

contract TodoList {
   uint public taskCount = 0;
}

然後我執行truffle compile並收到此錯誤消息

Error: Could not find .../todolist/contracts/TodoList.sol from any sources
   at /usr/local/lib/node_modules/truffle/build/webpack:/packages/truffle-resolver/index.js:76:1
   at /usr/local/lib/node_modules/truffle/build/webpack:/~/async/internal/onlyOnce.js:12:1
   at next (/usr/local/lib/node_modules/truffle/build/webpack:/~/async/whilst.js:68:1)
   at /usr/local/lib/node_modules/truffle/build/webpack:/packages/truffle-resolver/index.js:64:1
   at /usr/local/lib/node_modules/truffle/build/webpack:/packages/truffle-resolver/fs.js:85:1
   at /usr/local/lib/node_modules/truffle/build/webpack:/~/async/internal/once.js:12:1
   at replenish (/usr/local/lib/node_modules/truffle/build/webpack:/~/async/internal/eachOfLimit.js:61:1)
   at iterateeCallback (/usr/local/lib/node_modules/truffle/build/webpack:/~/async/internal/eachOfLimit.js:50:1)
   at /usr/local/lib/node_modules/truffle/build/webpack:/~/async/internal/onlyOnce.js:12:1
   at ReadFileContext.callback (/usr/local/lib/node_modules/truffle/build/webpack:/packages/truffle-resolver/fs.js:81:1)
   at FSReqCallback.readFileAfterOpen [as oncomplete] (fs.js:242:13)
Truffle v5.0.2 (core: 5.0.2)
Node v11.12.0

文件在那裡。如果我刪除該文件,松露編譯 Migrations.sol自動生成的truffle init沒有錯誤。

當我使用 VSCode 編輯 TodoList.sol 並嘗試使用 Solidity 外掛編譯它時,它不會抱怨,但不會在建構文件夾中生成任何輸出。

問題是我在 VSCode 中編輯了文件,但自動保存已關閉。因此,如果您在 contracts 目錄中有一個空文件,這就是您收到的錯誤消息。

有同樣的問題,如上所述,我剛剛進入 sublime(原始碼編輯器)並保存了工作,然後“sudo truffle compile”工作了。

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