4

我正在尝试在 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,以防万一发生损坏,但没有运气。我似乎也找不到其他有这个问题的人,所以我有点卡住了。有任何想法吗?

4

2 回答 2

5

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

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

于 2014-03-05T18:08:28.207 回答
5

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

  1. Ant 是必需的依赖项,尽管据我从 ionic 指南或 cordova 指南指向的任何安装指南中可以看出,它没有被记录为依赖项。事实上,我通过挖掘 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,则可以使用将 jre 更新到 jdk 版本sudo update-alternatives --config java

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

~/.bashrc 中的路径设置

$ cd ~
$ sudo vi .bashrc

在底部,在为文件夹和文件夹下的文件夹PATH=添加捆绑文件夹的路径之前。一些指南仅提及该文件夹。platform-toolstoolssdkplatform-tools

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

ios平台需要xcode 4.5和cordova,需要OSx 10.7 你基本上不能在WindowsLinux上添加ios平台工具。不幸的是,cordova 和 ionic 似乎都忘记了 Linux 的存在,因此文档暗示这将在 Linux 上运行,当他们注意到 Windows 上的不可操作性但对 Linux 只字未提时。

于 2014-04-05T07:57:47.097 回答