我无法创建PhoneGap 2.x项目:权限被拒绝或命令未找到

时间:2012-10-22 23:42:20

标签: cordova cordova-2.0.0

使用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"

结果:系统提示我输入密码,输入后输入命令

正如我所说,这些指示很简单,因为我没有发现任何其他人有这个错误,所以我必须把它归结为一个菜鸟。请帮忙。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

启动create命令时,create.js以“permission denied”停止。 我注销了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"

并且创建过程成功完成。