无法在本地编译 Phonegap 应用程序
Posted
技术标签:
【中文标题】无法在本地编译 Phonegap 应用程序【英文标题】:Unable to compile Phonegap app locally 【发布时间】:2015-07-06 10:12:48 【问题描述】:我无法在本地编译我的 ios 应用,android 工作正常。
我使用npm install -g [...]
安装了cordova
和phonegap
。我正在运行 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__
上运行的路径中没有发生,但很难说。下面是生成的文件结构的截图:
我可以使用远程构建服务进行构建,但它非常费力,因为应用程序没有正确加载,所以我需要进行大量调试才能解决这个问题。
Node 安装在 0.12.5 版本。 NPM 安装在 2.11.2 版本。
我已经重装了无数次平台,总是出现这个错误。
【问题讨论】:
能不能先卸载平台再安装一遍试试? 我已经重新安装了很多次平台。总是同样的错误。 我认为 xcode 4 不再受支持,请尝试更新到 xcode 5 和最新的 xcode 命令行工具 您确定这与 XCode 有关吗?据我所知,它甚至没有达到那个地步? 您是否尝试过通过cordova 和平台ios 构建一个“hello world”应用程序?尝试在基础应用程序上运行构建命令并查看显示的错误(如果有)。也许存在与配置相关的路径问题。我还建议检查您的 bash 配置文件设置和环境变量。 【参考方案1】:这个问题有点老了,但我会抛出一些东西:
-
我的 ios 平台的命令行版本正在运行——它没有
__CLI__...
子目录。只是一个数据点。
我想知道 Xcode 相对于其构建路径的设置方式是否有什么奇怪的地方。请参阅此答案以确保正确设置输出目录:still getting <Cordova/CDVViewController.h> file not found error in xcode。我在 Xcode 中设置了桌面和移动应用程序,我必须记住来回切换此设置。
PhoneGap / Cordova 一直在逐步淘汰旧版本的 ios 及其新版本。如果 cordova 5.1.1 不支持 Xcode 4.6.2,我不会感到惊讶。您可能想尝试使用旧版本的 cordova 库。
【讨论】:
以上是关于无法在本地编译 Phonegap 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
Phonegap 构建应用程序在 android 上无法正常工作