TACO TFS iOS构建错误“边缘模块尚未针对node.js版本v6.10.1进行预编译”

时间:2017-03-31 15:43:42

标签: cordova visual-studio-cordova taco

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

  • cordova 5.4.1 - > 6.4.0
  • cordova-android 4.1.1 - > 6.0.0
  • cordova-ios 3.8 - > 4.3.1
  • cordova-plugin-file 4.1.0 - > 4.3.2
  • cordova-plugin-file-transfer 1.5.0 - > 1.6.2
  • cordova-plugin-file-opener2 2.0.2 - > 2.0.8
  • cordova-plugin-whitelist 1.2.1 - > 1.3.2
  • 节点0.12.2 - > 6.10.1
  • Android 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-deploy 1.7.0 - > 1.9.1
  • remotebuild 2.1.1 - > 2.1.3
  • graceful-fs 4.1.3 - > 4.1.11

两者都是在Visual Studio 2015中构建的(iOS使用remotebuild),并且在通过TFS进行大量调整Android构建之后。

然而iOS到TFS会引发以下错误

  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附带5.0.0版本的边缘可能是问题的根源,但我已经在构建服务器上更新了边缘并且Android版本很高兴。在VS 2015中还有一个设置,用于在我的开发PC上使用沙盒版本的节点(我已经勾选),但是在TFS中启动构建时我找不到任何类似的设置 - 尽管这可能是一个红色的鲱鱼。好吧,我已经在Mac上更新了优势,但我认为构建实际上并没有调用remotebuild。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

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

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

希望在2018年4月cordova不再支持低于6.x的节点时,将会有一个使用更新版边缘的TACO更新。

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