无法在本地编译Phonegap应用程序

时间:2015-07-06 10:12:48

标签: ios node.js cordova phonegap-build

我无法在本地编译我的iOS应用,Android工作正常。

我使用cordova安装了phonegapnpm install -g [...]。我正在运行OSX(10.7.5)。

两者的版本输出:

$ cordova -v
5.1.1
$ phonegap -v
0.9.4

我安装了XCode(v 4.6.2)。我也安装了命令行工具。

Cordova和phonegap工具都无法构建,似乎也是出于同样的原因。正在运行phonegap build ios输出:

$ phonegap build ios
  phonegap  detecting iOS SDK environment...
  phonegap  using the local environment
  phonegap  compiling iOS...
     error  ENOENT, no such file or directory '/Users/mike/apps/***/platforms/ios/__CLI__/config.xml'

以下是同一cordova命令的输出:

$ cordova build ios
cp: copyFileSync: could not write to dest file (code=ENOENT):/Users/mike/apps/***/platforms/ios/__CLI__/config.xml

cp: no such file or directory: /Users/mike/apps/***/platforms/ios/platform_www/*

Parsing /Users/mike/apps/***/platforms/ios/__CLI__/config.xml failed
Error: ENOENT, no such file or directory '/Users/mike/apps/***/platforms/ios/__CLI__/config.xml'
    at Error (native)
    at Object.fs.openSync (fs.js:500:18)
    at Object.fs.readFileSync (fs.js:352:15)
    at Object.module.exports.parseElementtreeSync (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/util/xml-helpers.js:118:27)
    at Object.ConfigParser (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/configparser/ConfigParser.js:33:24)
    at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/prepare.js:115:32
    at Array.map (native)
    at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/prepare.js:70:40
    at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:787:54)
    at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:816:30)

在我看来,在__CLI__的路径中应该有一些替代品在未发生的路径上运行,但这很难说清楚。下面是生成的文件结构的屏幕截图:

FileStructure

我可以使用远程构建服务进行构建,但它非常费力,因为应用程序没有正确加载,因此我需要进行相当多的调试来对其进行排序。

节点安装版本为0.12.5。 NPM安装在版本2.11.2。

我已多次重新安装该平台,并始终收到此错误。

1 个答案:

答案 0 :(得分:1)

这个问题有点陈旧,但我会抛出一些东西:

  1. 我的ios平台的命令行构建正在运行 - 它没有__CLI__...子目录。只是一个数据点。
  2. 我想知道Xcode与其构建路径相关的设置方式是否有些奇怪。请参阅此答案以确保正确设置输出目录:still getting <Cordova/CDVViewController.h> file not found error in xcode。我在Xcode中设置了桌面和移动应用程序,我必须记得来回切换此设置。
  3. PhoneGap / Cordova已经逐步淘汰旧版本的ios及其新版本。如果cordova 5.1.1不支持Xcode 4.6.2,我不会感到惊讶。您可能想尝试使用旧版本的cordova库。