win10 安装truffle框架 关于一些遇到的坑

记录truffle框架使用的过程以及一些坑

首先安装node.js 官网下载并安装

建议使用最新版吧,避免一些不明所以的坑

安装truffle框架

npm install -g [email protected]
为什么使用这个版本呢(我测试了好几个版本,感觉这个最好用!!!)
  1. 我一开始是不设置版本号直接安装,compile – migrate 编译,迁移部署都没有问题,但是当我执行测试命令的时候,会出现一个不明所以的错误(下面详见)
  2. truffle框架使用版本 ----网上关于配置使用的基本上都是4.*.*版本,我查到的最稳定是4.1.8,因为合约版本已经更新到5.0以上了,所以相应的要使用5.0以上的版本,截止到今天最新版本5.1.13
    3.我的环境配置
    win10 安装truffle框架 关于一些遇到的坑_第1张图片

安装使用 ganache(图形化界面) 或者ganache-cli

1.ganache 官网ganache直接下载
2.ganache-cli 通过指令下载

npm install -g ganache-cli

简单的项目测试

truffle维护了很多项目,可以直接使用。

windows环境下推荐使用Windows PowerShell(避免使用cmd,原因都懂得)

初始化新的文件夹

下载项目,通过指令,但是可能会报错,提示连接不到某个ip地址(被墙了)

truffle unbox metacoin

解决问题:

  1. 关闭梯子 —时好时坏
  2. 利用git 直接拉去文件到本机
git clone [地址](https://truffle-box.github.io/)

编译合约

truffle compile

合约迁移部署

truffle migrate

测试合约

truffle test

最大boss出现

我第一次安装使用truffle 直接最新版本,等到执行truffle test时,出现一个不明所以的错误 (三四天纠结啊,ubuntu环境使用最新版,不会出现错误 亲测

问题如下:

编译,迁移合约过程无错误,日志正常!!!
然后执行truffle test 合约报错

具体报错

   TestAdoptionPets
    1) "before all" hook: prepare suite


  0 passing (554ms)
  1 failing

  1) TestAdoptionPets
       "before all" hook: prepare suite:
     TypeError: Error parsing J:/truffle_workplace/AdoptionPets/bare-box/contracts/AdoptionPets.sol: Cannot destructure property `body` of 'undefined' or 'null'.
      at getImports (C:\Users\11712\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\compile-solidity\profiler\getImports.js:5:1)
      at findContracts.then.then (C:\Users\11712\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\compile-solidity\profiler\index.js:145:1)
显示报错信息为

Cannot destructure property body of ‘undefined’ or 'null’

心路历程
  1. 刚开始以为是webpack版本冲突,(我第一次安装过程安装了webpack,查了很多,以为webpack版本问题,但是通过多次版本测试之后,问题还在原地等我!!!!!)
  2. 咨询了小伙伴,webpack用来打包测试vue项目,就感觉使用过程中并没添加任何代码,改动,问题可能不在这儿,然后小伙伴建议升级node版本,但是事实证明依然无效
  3. 就想到是不是truffle版本问题,然后从4.**版本一直测试到5.**版本,虽然在使用4.1.8版本时(好像是)不会出现上述问题,但是考虑到合约版本更新,还是要用5.**版本
至此问题结束,感觉对windows环境并不友好,这种错误压根不知道错在哪儿,难道要换个mac??????

2020.3.20补充

  • 最新版truffle5.1.16 我测试依然报错(仅代表个人)
  • 文章开头安装[email protected]版本可用(反正我可用)
  • 文章安装指令都是可用的(问题都是我自己遇到的)
  • 如果发现truffle指令运行成功,但是没有作用----不妨试试+" --reset"

你可能感兴趣的:(Truffle使用过程)