今年三月份开始使用WSL + truffle,那时候truffle刚到4.1.8版本(node 8.8.0),就一直用这个版本,没想到用到的却是一个最稳定的版本。
后来,由于4.1.8最高只支持solc的0.4.23,便将truffle升级到最新的4.1.14(node 也升级到10.5.0),噩梦便开始了:各种意想不到的坑,例如:
- fs.writeFileSync 跟 fs.existsSync的相对目录不一样。假设truffle的根目录下的test目录下有个文件 X.js,二者分别要这样访问:fs.writeFileSync(‘test//migrateResult.json’) fs.existsSync("…//test//migrateResult.json")
- 4.1.14版本,假如migrate时脚本中有多个合约,没等到所有合约部署完就会退出部署、没有任何错误提示
- 新版本莫名其妙地出现栈溢出提示:Maximum call stack size exeeded
- 发布合约到ropsten测试网络,但是提交源代码时无法通过验证。
等等一系列的问题,在将truffle会退到4.1.8版本(node 8.8.0)之后,一切正常了。。。。
安装nodejs 8.8.0:
- wget https://nodejs.org/dist/v8.8.0/node-v8.8.0-linux-x64.tar.gz
- sudo tar -xf node-v8.8.0-linux-x64.tar.gz - -directory /usr/local - -strip-components 1
安装truffle 4.1.8:

博主在使用WSL + Truffle时遇到版本问题,发现4.1.8(搭配node 8.8.0)是最稳定的组合。升级到4.1.14(node 10.5.0)后,出现fs模块路径问题、提前退出部署、栈溢出、合约验证失败等错误。降级回4.1.8后问题解决。最近尝试5.0版本,发现与现有工具不兼容,再次退回4.1.8。5.0主要改进包括重载函数支持和web3版本升级。
最低0.47元/天 解锁文章
1648

被折叠的 条评论
为什么被折叠?



