塔科 TFS iOS 构建错误"The edge module has not been pre-compiled for node.js version v6.10.1"



我在TACO(Visual Studio 15)中有一个Cordova项目,该项目去年曾经使用TFS为Android和iOS构建。现在,我重新审视了这个项目,并升级了几乎所有内容的版本,以支持最新版本的Android和iOS。

  • 科尔多瓦 5.4.1 -> 6.4.0
  • 科尔多瓦-安卓 4.1.1 -> 6.0.0
  • 科尔多瓦-iOS 3.8 -> 4.3.1
  • cordova-plugin-file 4.1.0 -> 4.3.2
  • 科尔多瓦插件文件传输 1.5.0 -> 1.6.2
  • 科尔多瓦插件文件打开器2 2.0.2 -> 2.0.8
  • 科尔多瓦插件白名单 1.2.1 -> 1.3.2
  • 节点 0.12.2 -> 6.10.1
  • 安卓 SDK 24.0.2 -> 25.2.5
  • Java JDK 1.7.xx -> 1.8.0.25
  • XCode 6.3 -> 8.2.1
  • OSX 10.10 -> 10.11.5
  • iOS-SIM 4.1.1 -> 5.0.13
  • iOS 部署 1.7.0 ->1.9.1
  • 远程构建 2.1.1 -> 2.1.3
  • 优雅-FS 4.1.3 -> 4.1.11

两者都是从Visual Studio 2015(iOS使用remotebuild)中构建的,并且经过多次调整后通过TFS构建Android构建。

但是,通过TFS的iOS会引发以下错误

Executing "after_platform_add"  hook for all plugins.
------ Updating plugins
------ Currently installed plugins: cordova-plugin-compat@1.1.0,cordova-plugin-file@4.3.2,cordova-plugin-file-opener2@2.0.8,cordova-plugin-file-transfer@1.6.2,cordova-plugin-whitelist@1.3.2
------ Currently installed dependent plugins: cordova-plugin-compat,cordova-plugin-file
------ Currently configured plugins: 
MSBUILD : cordova-build error : Error: The edge module has not been pre-compiled for node.js version v6.10.1.

我在Android TFS构建中遇到了这个问题,但是在TFS构建框上安装较新版本的边缘解决了这个问题。此 iOS 内部版本是相同的 TFS 服务器,并在同一帐户下运行。

我知道 vs-tac 附带 edge 的 5.0.0 版,这可能是问题的根源,但我在构建服务器上更新了 edge,Android 构建很高兴。VS 2015中还有一个设置,用于在我的开发PC上使用节点的沙盒版本(我已经勾选了),但是在TFS中启动构建时找不到任何类似的设置 - 尽管这可能是一个红鲱鱼。只是为了好衡量,我已经更新了 Mac 上的 edge,但我认为该构建实际上并没有达到调用远程构建的程度。

任何帮助将不胜感激

好的,我终于让 TFS 将构建传递给 Mac 上的远程构建服务器,但我不得不将节点降级到 5.12.0,因为 vs-tac 1.0.42 依赖于边缘 5.0.2,而边缘 5.0.2 反过来似乎仅适用于节点 5.x。

在追回了我使用的所有平台.js cordova 平台和插件的文件之后,这个版本的节点已经足够晚了。

希望在 2018 年 4 月科尔多瓦不再支持低于 6.x 的节点时,将有一个使用最新版本的 edge 的 TACO 更新。

我希望这个答案对其他人有用。

最新更新