From 1f0f045ef89b2a94687fe10e4e7ca500f4df7426 Mon Sep 17 00:00:00 2001 From: hasezoey Date: Wed, 13 Jul 2022 13:33:44 +0200 Subject: [PATCH] fix(MongoMemoryServer): add some extra context to -86 error on macos-arm re #674 --- .../mongodb-memory-server-core/src/MongoMemoryServer.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/mongodb-memory-server-core/src/MongoMemoryServer.ts b/packages/mongodb-memory-server-core/src/MongoMemoryServer.ts index f9dde8e45..b2906a397 100644 --- a/packages/mongodb-memory-server-core/src/MongoMemoryServer.ts +++ b/packages/mongodb-memory-server-core/src/MongoMemoryServer.ts @@ -19,6 +19,7 @@ import { promises as fspromises } from 'fs'; import { MongoClient } from 'mongodb'; import { lt } from 'semver'; import { EnsureInstanceError, StateError } from './util/errors'; +import * as os from 'os'; const log = debug('MongoMS:MongoMemoryServer'); @@ -280,6 +281,13 @@ export class MongoMemoryServer extends EventEmitter implements ManagerAdvanced { this.stateChange(MongoMemoryServerStates.starting); await this._startUpInstance(forceSamePort).catch(async (err) => { + // add error information on macos-arm because "spawn Unknown system error -86" does not say much + if (err instanceof Error && err.message?.includes('spawn Unknown system error -86')) { + if (os.platform() === 'darwin' && os.arch() === 'arm64') { + err.message += err.message += ', Is Rosetta Installed and Setup correctly?'; + } + } + if (!debug.enabled('MongoMS:MongoMemoryServer')) { console.warn( 'Starting the MongoMemoryServer Instance failed, enable debug log for more information. Error:\n',