Solidity
無法執行松露編譯
我想在我的 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 發行說明中查看更多詳細資訊,了解如何使用自己的編譯器。