Meteor 1.5.2 ios模拟器问题,typeError:无法读取属性'替换'未定义的

时间:2017-09-16 13:18:49

标签: xcode meteor ios-simulator meteor-ios

我在Xcode 8.3.3上使用OS X 10.12.6

全新安装流星15.2。

基本上,我刚刚使用meteor create创建了一个基本应用程序 它促使我更新到流星1.5.2并且我更新了虽然它对流星1.4.3工作正常。 当我为两个版本添加平台后尝试运行meteor run ios时,它给了我1.5.2的以下错误

meteor run ios给出错误。

=>应用程序运行于:http://localhost:3000/ =>执行Cordova命令时出错:

使用选项--emulator:

运行适用于平台iOS的Cordova应用程序时
  

错误:命令失败:   /Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/run   --emulator TypeError:无法在删除时读取未定义的属性'replace'   (/Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/node_modules/ios-sim/src/lib.js:282:70)   在Object.lib.getdevicetypes的Array.forEach(native)   (/Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/node_modules/ios-sim/src/lib.js:292:22)   在Object.listEmulatorImages [运行]   (/Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/lib/list-emulator-images:34:29)   在deployToSim   (/Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/lib/run.js:173:50)   在   /Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/lib/run.js:115:20   在_fulfilled   (/Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/node_modules/q/q.js:834:54)   在self.promiseDispatch.done   (/Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/node_modules/q/q.js:863:30)   在Promise.promise.promiseDispatch   (/Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/node_modules/q/q.js:796:13)   在   /Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/node_modules/q/q.js:604:44   在ChildProcess.exitCallback(/tools/utils/processes.js:151:23)at   在ChildProcess.emit(events.js:172:7)的emitTwo(events.js:87:13)   Process.ChildProcess._handle.onexit(internal / child_process.js:211:12)   =>等待在这里:在Function.Promise.await(/Users/{$USER}/.meteor/packages/templating-compiler/.1.3.2.qn524o++++web.browser+web.cordova/plugin.compileTemplatesBatch.os /npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:35:12)   在CordovaProject.runCommands(/tools/cordova/project.js:715:22)at   在tryCatch上的CordovaProject.run $(/tools/cordova/project.js:261:10)   (/Users/{$USER}/.meteor/packages/meteor-tool/.1.5.2.9i7mdi++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib /node_modules/regenerator-runtime/runtime.js:63:40)   在GeneratorFunctionPrototype.invoke [as _invoke]   (/Users/{$USER}/.meteor/packages/meteor-tool/.1.5.2.9i7mdi++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib /node_modules/regenerator-runtime/runtime.js:337:22)在GeneratorFunctionPrototype.prototype。(匿名函数)[如下]   (/Users/{$USER}/.meteor/packages/meteor-tool/.1.5.2.9i7mdi++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib /node_modules/regenerator-runtime/runtime.js:96:21)   在tryCatch   (/Users/{$USER}/.meteor/packages/meteor-tool/.1.5.2.9i7mdi++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib /node_modules/regenerator-runtime/runtime.js:63:40)   在调用   (/Users/{$USER}/.meteor/packages/meteor-tool/.1.5.2.9i7mdi++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib /node_modules/regenerator-runtime/runtime.js:139:20)at   /Users/{$USER}/.meteor/packages/meteor-tool/.1.5.2.9i7mdi++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/ node_modules /再生器的运行时/ runtime.js:184:11   在callInvokeWithMethodAndArg   (/Users/{$USER}/.meteor/packages/meteor-tool/.1.5.2.9i7mdi++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib /node_modules/regenerator-runtime/runtime.js:183:16)在AsyncIterator.enqueue   (/Users/{$USER}/.meteor/packages/meteor-tool/.1.5.2.9i7mdi++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib /node_modules/regenerator-runtime/runtime.js:206:13)在AsyncIterator.prototype。(匿名函数)[如下]   (/Users/{$USER}/.meteor/packages/meteor-tool/.1.5.2.9i7mdi++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib /node_modules/regenerator-runtime/runtime.js:96:21)   在Object.runtime.async   (/Users/{$USER}/.meteor/packages/meteor-tool/.1.5.2.9i7mdi++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib /node_modules/regenerator-runtime/runtime.js:226:14)at   /Users/{$USER}/.meteor/packages/templating-compiler/.1.3.2.qn524o++os+web.browser+web.cordova/plugin.compileTemplatesBatch.os/npm/node_modules/meteor/promise/node_modules /meteor-promise/fiber_pool.js:32:39

     

/用户/ {$ USER} /。流星/包/模板编译/ .1.3.2.qn524o ++ OS + web.browser + web.cordova / plugin.compileTemplatesBatch.os / NPM / node_modules /流星/承诺/ node_modules /流星承诺/ promise_server.js:190   抛出错误; ^未定义   =>等待在这里:在Function.Promise.await(/Users/{$USER}/.meteor/packages/templating-compiler/.1.3.2.qn524o++++web.browser+web.cordova/plugin.compileTemplatesBatch.os /npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:35:12)   在/tools/cordova/runner.js:98:17 at   /tools/utils/buildmessage.js:271:13在[对象   对象] .. extend.withValue(/tools/utils/fiber-helpers.js:89:14)at   /tools/utils/buildmessage.js:264:29 at [object   对象] .. extend.withValue(/tools/utils/fiber-helpers.js:89:14)at   /tools/utils/buildmessage.js:262:18 at [object   对象] .. extend.withValue(/tools/utils/fiber-helpers.js:89:14)at   /tools/utils/buildmessage.js:253:23在[对象   对象] .. extend.withValue(/tools/utils/fiber-helpers.js:89:14)at   Object.capture(/tools/utils/buildmessage.js:252:19)at   CordovaRunner.startRunTargets(/tools/cordova/runner.js:97:37)at at   [object Object] ._。extend.runOnce(/tools/runners/run-app.js:772:21)at at   [object Object] .. extend._fiber(/tools/runners/run-app.js:885:28)at at   /tools/runners/run-app.js:412:12

     

cat .meteor / local / cordova-build / platforms / ios / CordovaLib / VERSION给出   我4.4.0

所以在iOS 9.0 api上不推荐使用api

将cordova更新到最新版本以适用于iOS 10(以及可能是iOS 11周后)的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

这是(或曾经)Meteor用于运行iOS模拟器的ios-sim软件包中的错误。在Meteor中更新此依赖关系之前,您可以通过在项目文件夹中手动更新ios-sim来解决此问题,这应该可行:

cd .meteor/local/cordova-build/platforms/ios/cordova
meteor npm install ios-sim@latest

你可以在下面的github issueb上查看klaussner的答案:

  

https://github.com/meteor/meteor/issues/9098