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 ændrermongod
konfigurationsfil:brew services start mongodb-community