1

在 2.0 中,PhoneGap 决定使用命令行来创建新项目 (iOS)。指令看起来很简单,但我无法执行任何脚本。也许这是我的笔记本电脑设置。我完全按照此链接(http://docs.phonegap.com/en/2.1.0/guide_getting-started_ios_index.md.html#Getting%20Started%20with%20iOS)中的说明进行操作,直至提供的确切参数样本:

./create ~/Desktop/HelloWorld org.apache.HelloWorld HelloWorld then press "Enter"

结果:权限被拒绝

所以我想如果我以root身份运行它会起作用,所以我尝试了这个:

sudo ./create ~/Desktop/HelloWorld org.apache.HelloWorld HelloWorld then press "Enter"

结果:提示我输入密码,输入后,找不到命令

正如我所说,这些说明非常简单,而且由于我还没有发现其他人有这个错误,所以我必须把它归结为一个菜鸟。请帮忙。

4

2 回答 2

3

万一其他人遇到这个问题,我找到了解决方案。我需要确保这些脚本是可执行的。我认为这是找不到命令错误的原因。为此,从我执行的终端

chmod 755 create

然后我发现我需要对创建脚本引用的任何脚本执行此操作。

chmod 755 replaces
chmod 755 update_cordova_subproject

然后我发现生成的项目归 root 所有,所以我下载了一个名为 BatChmod 的实用程序,它允许我更改项目目录的所有者以及其中的所有内容。很好的实用程序,你可以在这里得到它:http: //www.macupdate.com/app/mac/6440/batchmod

一旦我这样做了,我就能够构建并部署到模拟器。我仍然无法部署到我的设备,因为我需要实施修复以有条件地添加基于 iOS 版本的架构。它试图在设备上使用 i386。看到这个:https ://issues.apache.org/jira/browse/CB-1360

于 2012-10-23T20:38:37.783 回答
0

我有同样的问题,但另一个原因和另一个解决方案。也许这对某人有帮助(之前,我也为所有 js 文件做了 chmod 755 )。

启动 create 命令时,create.js 以“权限被拒绝”停止。我注销了 create.js 执行的命令,以找出哪个命令锁定了进程:

function exec(command) {
    Log("command=" + command);
    ... 
}

事实证明,该命令

"jar -cfe ..\\appinfo.jar ApplicationInfo ApplicationInfo.class"

锁定进程(在 createAppInfoJar() 方法中)。

我无法从控制台运行任何 jar 命令,但 java 命令有效。所以我用

"java jar -cfe ..\\appinfo.jar ApplicationInfo ApplicationInfo.class"

并且创建过程成功进行。

于 2013-07-12T15:11:52.813 回答