Solidity

無法執行松露編譯

  • January 8, 2019

我想在我的 AWS Ubuntu 18.4 伺服器上執行 truffle compile。我能夠在本地編譯相同的合約而沒有編譯錯誤,但是當我嘗試在 AWS ubuntu 伺服器上執行 truffle compile 時,它會引發語法錯誤。

有人可以解釋一下這裡發生了什麼嗎?你認為松露版本在這裡會是個問題嗎?

本地系統:Truffle v4.1.14(核心:4.1.14)

AWS Ubuntu 伺服器:Truffle v5.0.1(核心:5.0.1)

松露 4.1.14 依賴於 solc 0.4.24。

Truffle 5.0.1 依賴於 solc 0.5.0。

在這兩個版本的 solc 之間存在重大變化,這意味著您很可能在後者中遇到編譯錯誤,而您在前者中沒有收到。

如果您不想將合約更新到 solc 0.5.x,但仍然能夠使用 Truffle 5.x 編譯它們,那麼您可以在 Truffle 配置文件中選擇所需的 solc 版本。

例如,為了將 truffle 配置為使用 solc 0.4.24,請將其添加到truffle-config.js

compilers: {
   solc: {
       version: "0.4.24"
   }
}

此功能從 Truffle 5.x 開始可用(所以不要在早期版本上嘗試)。

在 Truffle 5.0.0 發行說明中查看更多詳細資訊,了解如何使用自己的編譯器

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