Cordova在尝试添加平台时抛出语法错误

我试图在Ubuntu服务器上安装Cordova和Ionic Framework。 我已经使用了Node.js,所以只需运行:

sudo npm install -g cordova 

然后,我从GitHub克隆了一个示例项目

 sudo git clone https://github.com/driftyco/ionic-weather.git 

我进入了目录,并尝试添加iOS平台库,以构build它:

 cd ionic-weather sudo cordova platform add ios 

但是,它会引发以下错误:

 Creating ios project... /home/benedict/.cordova/lib/ios/cordova/3.4.0/bin/create: 33: /home/benedict/.cordova/lib/ios/cordova/3.4.0/bin/create: Syntax error: "(" unexpected Error: /home/benedict/.cordova/lib/ios/cordova/3.4.0/bin/create: Command failed with exit code 2 at ChildProcess.whenDone (/usr/lib/node_modules/cordova/src/superspawn.js:112:23) at ChildProcess.EventEmitter.emit (events.js:98:17) at maybeClose (child_process.js:743:16) at Process.ChildProcess._handle.onexit (child_process.js:810:5) 

我已经尝试重新安装cordova,以防万一有损坏,但没有运气。 我似乎无法find任何其他人这个问题,所以我有点卡住了。 有任何想法吗?

这原来是几个问题的组合:

  1. 蚂蚁是一个必需的依赖关系,虽然它没有记录为依赖关系,据我所知,从任何安装指南离子指南或科尔多瓦指导指向。 事实上,我通过挖掘SO和互联网的其他一些黑暗角落,发现了这一点
  2. JDK也必须安装。 (不只是JRE)
  3. 2个文件夹必须添加到路径(Android的反正)。

蚂蚁

这可以通过sudo apt-get install ant

JDK

sudo update-alternatives –config java

首先,你可以运行`sudo update-alternatives –get-selections |查看你是否拥有jdk grep ^ java

如果你已经有了jdk,你可以使用sudo update-alternatives --config java将jre更新到jdk版本

如果没有,那么安装jdk(不只是jre),使用sudo apt-get install openjdk-7-jdk

〜/ .bashrc中的路径设置

 $ cd ~ $ sudo vi .bashrc 

在底部,在PATH=之前PATH=platform-tools文件夹和sdk文件夹下的tools文件夹添加路径到bundle文件夹。 几个指南只提到platform-tools文件夹。

该指南特别提到ios不能安装在Windows上,但奇怪的是离开了Linux。 这可能是一个疏忽,但我不能确定。 离子指南中有一些迹象表明ios可以在linux上完成,尽管实际的开发只能在OSx上完成。

ios平台需要xcode 4.5与cordova,需要OSx 10.7基本上不能在Windows Linux上添加ios平台工具。 不幸的是,cordova和ionic两者似乎都忘记了Linux的存在,因此这些文档暗示这些文件会在Linux上运行,但是在Linux上却没有提及,但是却没有提到Linux。

你的问题是,你试图在未安装Mac OS的机器上构建应用程序。 为了添加IOS平台,你需要在mac上运行这个命令。

先查看先决条件: http : //docs.phonegap.com/en/3.0.0/guide_cli_index.md.html