【发布时间】:2015-07-22 20:16:21
【问题描述】:
我正在使用 Visual Studio 2015 RTM,并且正在开发一个 Cordova 项目。我的项目适用于 Android,但我无法为 IOS 构建它。我已经弄清楚问题是什么,但我不知道如何解决它。
当我为 IOS 构建时,它会将构建发送到安装在我的 Mac 计算机上的远程构建代理,但它返回以下错误:
找不到模块“Q”。请转到工具 --> 选项 --> 工具 对于 Apache cordova --> Cordova Tools --> Clear Cordova Cache 并尝试 再次建造。
按照它的建议清除 Cordova 缓存并没有帮助。我做了一些研究,发现这是 cordova_ios 库中的一个错误。这是修复错误 https://github.com/apache/cordova-ios/commit/ed272032878959c90eb28ccc1490e96fb7b69287 的提交的链接。
基本上问题在于 check_reqs.js 文件需要“Q”(大写)而不是“q”(小写)。
我可以通过执行以下操作来解决问题(并确认这是问题所在):
- 将我的 Cordova 项目复制到我的 Mac 计算机上。
- 在命令行中将 IOS 添加为 Cordova 平台。
- 转到 /platforms/ios/cordova/lib/check_reqs.js 文件并将第 25 行更改为小写“q”。
- 在 Mac 上构建并运行项目。
我不知道如何在 Visual Studio 中解决此问题,以便我可以从 Visual Studio 构建?我曾尝试在安装了 Visual Studio 的计算机上进行 NPM 更新,但这并没有修复它。我还尝试通过 Cordova 命令行手动将 IOS 平台添加到我的项目中,然后更改我在 Mac 上更改的相同文件,但这也不能解决问题。
如果在最新版本的 cordova_ios 库中修复了这个问题,我只是不知道如何让我的 Mac 上的 Visual Studio 和/或远程构建代理使用最新版本的 cordova_ios 库。
更新 看起来这是其他人在 Cordova 中看到的错误。有关于它的讨论here 和here。我可以在我的 Mac 电脑上重现它。如果我创建一个新的 Cordova 项目并添加 iOS 平台并尝试为 iOS 构建它,我会收到此错误。然后我可以通过打开 check_reqs.js 文件并将大写的“Q”更改为小写的“q”来更正此问题。但是,当我从 Visual Studio 构建时,它会使用不正确的 check_req.js 文件将项目发送到 Mac,并且构建失败。从 Visual Studio 构建 iOS 时,我不知道如何解决此问题。
【问题讨论】:
标签: ios visual-studio-2015 visual-studio-cordova