Dette er hovedfejlen:
undtagelse i initAndListen:NonExistentPath:Datamappe /data/db ikke fundet., afsluttes
Catalina har en overraskende ændring:den tillader ikke ændringer af rodmappen (dette blev også diskuteret i en forumtråd):
% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system
Desværre er dette ikke præciseret eksplicit i Apples Catalina release notes, bortset fra en kort omtale i Catalina funktioner:
macOS Catalina kører i en dedikeret, skrivebeskyttet systemenhed
Siden mappen /data/db er kodet som MongoDB standard, er en løsning at angive en anden dbpath der ikke er placeret i rodmappen. For eksempel:
mongod --dbpath ~/data/db
Dette vil placere MongoDBs data i din hjemmemappe. Bare sørg for, at stien ~/data/db faktisk eksisterer.
Alternativ metode
En alternativ metode er at følge instruktionerne på Install MongoDB Community Edition på macOS ved at udnytte brew :
brew tap mongodb/brew
brew install mongodb-community
Dette vil som standard oprette nogle ekstra filer:
- konfigurationsfilen (/usr/local/etc/mongod.conf)
- logbiblioteksstien (/usr/local/var/log/mongodb)
- datamappestien (/usr/local/var/mongodb)
At køre mongod du kan enten:
-
Kør kommandoen manuelt fra kommandolinjen (dette kan for nemheds skyld alias):
mongod --config /usr/local/etc/mongod.conf -
Kør MongoDB som en tjeneste ved hjælp af
brew services. Bemærk at dette vil køre MongoDB som en selvstændig node (ikke et replikasæt), så funktioner der afhænger af oploggen f.eks. changestreams vil ikke fungere, medmindre du ændrermongodkonfigurationsfil:brew services start mongodb-community