Meteor 1.5.2 ios simulator issue, typeError: Cannot read property 'replace' of undefined

Meteor 1.5.2 ios simulator issue, typeError: Cannot read property 'replace' of undefined

我在 Xcode 8.3.3 OS X 10.12.6

全新安装 meteor 15.2。

基本上,我只是使用 meteor create 创建了一个基本应用程序 它提示我更新到 meteor 1.5.2 并且我进行了更新,尽管它适用于 meteor 1.4.3。 当我在为两个版本添加平台后尝试 运行ning meteor 运行 ios 时,它给了我以下 1.5.2

的错误

meteor 运行 ios 给出错误。

=> 应用 运行 宁在:http://localhost:3000/ => 执行 Cordova 命令时出错:

虽然 运行宁 Cordova 应用程序平台 iOS 带有选项 --emulator:

Error: Command failed: /Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/run --emulator TypeError: Cannot read property ‘replace’ of undefined at remove (/Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/node_modules/ios-sim/src/lib.js:282:70) at Array.forEach (native) at Object.lib.getdevicetypes (/Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/node_modules/ios-sim/src/lib.js:292:22) at Object.listEmulatorImages [as run] (/Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/lib/list-emulator-images:34:29) at deployToSim (/Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/lib/run.js:173:50) at /Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/lib/run.js:115:20 at _fulfilled (/Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/node_modules/q/q.js:834:54) at self.promiseDispatch.done (/Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/node_modules/q/q.js:863:30) at Promise.promise.promiseDispatch (/Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/node_modules/q/q.js:796:13) at /Users/{$USER}/Development/webdev/simple-todos-react/.meteor/local/cordova-build/platforms/ios/cordova/node_modules/q/q.js:604:44 at ChildProcess.exitCallback (/tools/utils/processes.js:151:23) at emitTwo (events.js:87:13) at ChildProcess.emit (events.js:172:7) at Process.ChildProcess._handle.onexit (internal/child_process.js:211:12) => awaited here: at Function.Promise.await (/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/promise_server.js:35:12) at CordovaProject.runCommands (/tools/cordova/project.js:715:22) at CordovaProject.run$ (/tools/cordova/project.js:261:10) at 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) at 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) at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/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) at 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) at 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: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/regenerator-runtime/runtime.js:184:11 at 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) at 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) at AsyncIterator.prototype.(anonymous function) [as next] (/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) at 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

/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/promise_server.js:190 throw error; ^ undefined => awaited here: at Function.Promise.await (/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/promise_server.js:35:12) at /tools/cordova/runner.js:98:17 at /tools/utils/buildmessage.js:271:13 at [object Object]..extend.withValue (/tools/utils/fiber-helpers.js:89:14) at /tools/utils/buildmessage.js:264:29 at [object Object]..extend.withValue (/tools/utils/fiber-helpers.js:89:14) at /tools/utils/buildmessage.js:262:18 at [object Object]..extend.withValue (/tools/utils/fiber-helpers.js:89:14) at /tools/utils/buildmessage.js:253:23 at [object Object]..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 [object Object]._.extend.runOnce (/tools/runners/run-app.js:772:21) at [object Object]..extend._fiber (/tools/runners/run-app.js:885:28) at /tools/runners/run-app.js:412:12

cat .meteor/local/cordova-build/platforms/ios/CordovaLib/VERSION gives me 4.4.0

因此 api 在 iOS 9.0 api

上被弃用

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

这是(或曾经是)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