前言
这段时间,对虚拟货币有兴趣于是研究了下Copay,是用Angular+Typescript编写的,Window环境下运行Copay有很多坑,记录下成功跑起来的过程,真是一把心酸一把泪~!

一、执行环境
当前系统的环境部署如下
node v8.9.3
npm v6.1.0
cordova v8.0.0
cnpm v5.6.0
二、克隆仓库
克隆项目至本地
git clone https://github.com/bitpay/copay
三、修改依赖
修改根目录package.json下的开发依赖(devDependencies)至对应版本号:
"@biesbjerg/ngx-translate-extract": "2.3.4",
"@ionic-native-mocks/android-fingerprint-auth": "2.0.6",
"@ionic-native-mocks/fcm": "2.0.6",
因为某些版本安装时会遇到出乎意料的问题。
四、手动安装以下依赖包
此处强烈建议使用cnpm,因为使用npm会出现莫名其妙的错误,cnpm大法好!
cnpm i @ionic/app-scripts ionic-angular @ionic-native/core //ionic核心
cnpm i node-sass // sass要用的
cnpm i secp256k1@3.5.0 //椭圆计算
以上命令都正确安装后,再执行
cnpm i
安装依赖
然后运行以下命令,注意第二个命令需要运行在项目Git Bash命令行内才能生效.
npm run apply:copy
npm run env:dev //gitbash
最后
npm run start
启动项目
五、处理报错
然后会报许多typescript的错误,大部分都是spec.ts文件,貌似都是自动化单元测试用的文件,所以项目下全局搜索spec.ts文件并删除,这个时候只剩下少量错误了,注释掉就可以再运行启动项目啦。

总结
因为copay的开发团队是在mac下开发的,所以难免跑在window上会出现很多奇怪的问题,只能说很多坑要自己爬了才知道吧…