尝试添加平台时,Cordova会引发语法错误

时间:2014-03-02 13:34:14

标签: ios linux ubuntu cordova ionic-framework

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

sudo npm install -g cordova

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

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

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

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以防万一有损坏但没有运气。我似乎无法找到这个问题的任何人,所以我有点卡住了。有什么想法吗?

2 个答案:

答案 0 :(得分:5)

您的问题是您尝试在未安装Mac OS的计算机上构建应用程序。要添加IOS平台,您需要在mac上运行此命令。

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

答案 1 :(得分:5)

这结果是几个问题的组合:

  1. Ant是必需的依赖项,尽管从离子向导或cordova指南指向的任何安装指南中我都没有记录它作为依赖项。事实上,我通过挖掘SO和其他一些黑暗角落来发现这一点
  2. 还必须安装JDK。 (不仅仅是JRE)
  3. 必须将2个文件夹添加到路径中(对于Android无论如何)。
  4. 蚂蚁

    可以通过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版本

    如果没有,则使用sudo apt-get install openjdk-7-jdk

    安装jdk(不仅仅是jre)

    〜/ .bashrc

    中的路径设置
    $ cd ~
    $ sudo vi .bashrc
    

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

    该指南专门提到ios无法在Windows上安装,但奇怪的是不包括Linux。这可能是疏忽,但我无法确定。离子指南中有一些迹象表明ios仿真可以在linux上完成,即使实际开发只能在OSx上完成。

    ios平台需要带有cordova的xcode 4.5,这需要OSx 10.7 你基本上无法在Windows Linux上添加ios平台工具。不幸的是,cordova和ionic似乎都忘记了Linux的存在,因此当他们注意到Windows上的不可操作性但是对Linux没有任何说法时,文档暗示它将在Linux上运行。