ionic 安装遇到的问题以及解决方案

公司里要用到 Ionic 做移动App 混合开发

一个环境搭建折腾了好几天。一是公司权限问题,二是网络问题,你懂得。

Ionic 环境搭建官网有教程。本来几行命令就能搞定的事,一旦遇到网络问题,就蛋疼了。慢的要死

Ionic 框架简单了解了一下,由于是基于Anjular.js的,拥有Anjular.js的一些独有特性。比之前接触过的JS ,jQuery ,jQueryMobile要强大且方便的多。

 安装ionic 框架,正常流程官网有详细介绍,如果人品较好,分分钟钟就搞好了,还有一种情况,像我这样悲催,网络问题,试了几十遍还是没成功。

好在最后用了比较给力的网,折腾一周才搞定。

mac正常流程:

1、安装Node.js。(最新版本4.1一定是集成了npm 这个包管理工具的)

2、终端上执行命令,$sudo npm install -g cordova 安装cordova

3、终端上执行命令,$sudo npm install -g ionic 安装ionic

当然你可以两行命令合在一起,$sudo npm install -g corvoda ionic

顺利的话,稍等片刻就能安装成功。接下来可以用命令行新建一个工程:

4、终端上执行命令,$ionic start myApp blank 新建一个空工程

或者$ionic start myApp tabs 新建一个带tab框架的工程

或者$ionic start myApp sidemenu 新建一个带侧边栏的工程

5、cd myApp 到工程目录下,一般工程会users/yourUserName/myApp目录下。

6、添加iOS 运行平台。$ionc platform add ios

7、build  $ionic build ios

8、在iOS模拟器上运行,$ionic emulate ios 查看效果

 

下面简单说一下我遇到的情况:

1、安装Node.js 下载比较慢。耐心就行。

2、安装cordova.一般用npm 的源:可以用命令查看 $npm config list -l 看到一个registry=http://就能安装上,视网速而定。如果不能,在终端执行命令:$ npm set registry https://registry.npm.taobao.org

 

 将源改为 淘宝镜像。这时corvoda一般能安装成功了。安装cordova 一般不会有太大问题。问题多出在安装ionic .

3、在不改变淘宝源的情况下,用命令试试。两个同事用的$npm 的源都没问题,如果出现ERR, retry 就是网络的原因了。ERR socket hung up 也是网络的问题。这些网络问题,一般在很少人使用网络的时候应该会好点,我在将registry 改为: http://registry.cnpmjs.org/ 后竟然成功了。

总结一下。大多问题的出现是因为网络。我就把github上npm 和ionic 的issue 都看了一遍,还有一些中国的同学遇到类似问题,大多是因为网络问题,v*n并不好使。npm  的registry 设置成 http://registry.cnpmjs.org 会好一点,谢谢cnpm那些热心的人.还有一点是因为如果一次安装ionic 不成功,就不要多次尝试了,npm的包之间的依赖貌似很麻烦,没深入了解,就不多谈它了,可以把$npm cache clean,一下。如果还不行,建议把Node.js 卸载重新安装。卸载方法:

把一下代码放到一个文本编辑器里。保存,取名uninstall_node.sh

#!/bin/bash

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom \

| while read i; do

  sudo rm /usr/local/${i}

done

sudo rm -rf /usr/local/lib/node \

     /usr/local/lib/node_modules \

     /var/db/receipts/org.nodejs.*

然后将该文件拖到终端执行一下,为了防止有些删除不完全,如有提示显示:permission denied可以 做完上一步操作后执行一下代码:

$chmod 777 uninstall_node.sh

然后:找到目录

usr/local/bin

usr/local/lib

把里面有关 node 、node_moudel的文件夹全部删除

重启一下mac 再安装node.js 

关于npm这个包管理工具的具体内部机制,我也不太清楚,因为只是把它当做工具。方便就行。有兴趣的同学可以参考http://cnpmjs.org/

希望搭建ionic 的同学不要遇到我这么悲催的情况。

以上过程参考了许多网上的资料,在此谢过各位分享自己经验的热心人。