在自己折腾ionic2项目时,总会遇到下载不顺畅,卡在某个地方半天的情况。有人说要翻墙,这个的确没说错,但是有时翻墙也还是慢。这里,将介绍几种解决新建项目卡住的解决办法。
1、ionic start 很慢
在新建一个项目时,使用ionic start myApp --v2后,ionic会下载github上的模板,有时这里就会卡住。但实际上你用浏览器下载时并没有这么难下载(虽然的确有时候很慢,觉得这个看网络情况)。你可以在这里查看github上的文件位置:ionic项目模板地址
Downloading: https://github.com/driftyco/ionic2-app-base/archive/master.zip
这里就是在下载一个项目模板,这个模板时基本模板。就是不管是什么模板,比如blank、tabs等模板,都需要先下载这个模板。之后,在下载相应的具体模板。ionic2在你start新建项目时没有指明模板时,会默认模板为tabs模板。所以会接着下载tabs模板。
Downloading: https://github.com/driftyco/ionic2-starter-tabs/archive/master.zip
卡在这里,暂时不知道怎么解决。不知道可不可以自己把这两个文件拼接起来。
在下载这两个文件之后,项目开始安装node_module模块,在这里也容易卡住,这里可以ctrl + c结束安装,在新建的项目文件下,自行安装。
cnpm install --save
这样就能很快下载module.
还有一个方式,就是在ionic start myApp --v2 后添加 --skip npm
即:
ionic start myApp --v2 --skip npm
这样就会跳过安装npm包,然后你再进入项目目录,再
cnpm install --save
这样的好处就是不用ctrl + c去终结项目的新建过程,直接使用cnpm。
之后基本就时个可以运行的项目了。可以使用ionic serve在浏览器上看看效果。
2、ionic build android 很慢
再ionic platform add android 之后,接下来编译成安卓也是个大问题。这里也要下载一堆东西,而且也贼慢。
(1)将gradle-2.14.1-all.zip自行下载
在build前,项目需要下载一些文件,有时会下载不了。其中就有这个。
在myApp\platforms\android\cordova\lib\builders下有名为GradleBuilder.js的文件,你找到这句,
var distributionUrl=process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] ||'http\\://services.gradle.org/distributions/gradle-2.14.1-all.zip';
将 || 后的地址改为'../gradle-2.14.1-all.zip';
即:
var distributionUrl=process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] ||'../gradle-2.14.1-all.zip';
之后自行下载gradle-2.14.1-all.zip文件,附下载地址:gradle-2.14.1-all.zip
下载后,将它放在项目目录为:myApp\platforms\android\gradle下,即可。
再build时下载就不会有网络问题了。
(2)下载repo1.maven.org/maven2资源卡死
因为首次build,所以要下载些编译需要的资源包。这里也常出现卡死状态。
分析原因:
因为这个maven的服务器不在国内,所以下载起来特别慢,甚至无法下载。
解决办法:
使用国内的服务器资源,方式:
在项目目录myApp/platforms/android下,在名为build.gradle文件中,
找到使用mavenCentral()的地方,好像是两处。
之后,将mavenCentral()改成
maven { url "http://maven.aliyun.com/nexus/content/groups/public" }
这里面的地址是阿里提供的国内仓库,具体能不能用用浏览器试试,不行再去这个地址找找可以用的,附仓库列表地址
OK,这样在build时,下载问题就不再是问题了。