我试图在我的Ubuntu 18.04 LTS上安装mongodb,但它有以下错误说
您可能希望运行'apt --fix-broken install'来纠正这些问题.以下软件包具有未满足的依赖项:mongodb-org:取决于:mongodb-org-server但它不会被安装取决于:mongodb-org-mongos但它不会被安装取决于:mongodb-org-tools但是它不会安装E:未满足的依赖项.尝试'apt --fix-broken install'没有包(或指定解决方案).umar @ umar-Lenovo-ideapad-320-15ISK:〜/ Desktop/portfolio/async-demo $ sudo apt-get install -y mongodb
我明白这背后的原因已经在他们的网站上提到了,明确地说
平台支持
MongoDB仅提供64位LTS(长期支持)Ubuntu版本的软件包; 例如,14.04 LTS(可信赖)和16.04 LTS(xenial).有关更多信息,请参阅支持的平台.
这些软件包可以与其他Ubuntu版本一起使用; 但是,它们不受支持.
那么如何在我最新的Ubuntu 18.04 LTS上安装mongodb?为了清楚起见,我列出了我为纠正错误而做的事情:我按照他们的官方网站安装了mongodb
1. sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
2. echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
3. sudo apt-get update
4. sudo apt-get install -y mongodb-org
Run Code Online (Sandbox Code Playgroud)
现在我在这里遇到错误:你可能想运行'apt --fix-broken install'来纠正这些错误.以下包具有未满足的依赖项:
我试过了,
apt --fix-broken install
Run Code Online (Sandbox Code Playgroud)
它没有用,我得到了一些线索
sudo apt -f install
Run Code Online (Sandbox Code Playgroud)
它也返回错误.
处理时遇到错误:/var/cache/apt/archives/mongodb-org-server_4.0.0_amd64.deb /var/cache/apt/archives/mongodb-org-mongos_4.0.0_amd64.deb/var/cache/apt /archives/mongodb-org-tools_4.0.0_amd64.deb E:子进程/ usr/bin/dpkg返回错误代码(1)
我认为主要问题是与版本的兼容性.所以基本上我有Ubuntu 18.04,我如何在这个版本上安装mongodb,这样我就可以毫无困难地工作.
Moh*_*mar 25
你需要先卸载mongodb,你可以使用:
sudo apt-get purge mongodb-org*
Run Code Online (Sandbox Code Playgroud)
在此之后,通过以下命令安装mongodb:
sudo apt-get install mongodb
Run Code Online (Sandbox Code Playgroud)
然后更新:
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
你完成了mongodb的安装.您可以使用以下命令进行检查:
mongo --version
Run Code Online (Sandbox Code Playgroud)
rku*_*ngo 19
只是想在这里插话。我是 MongoDB Server Docs 的高级技术作家。这篇文章是少数提出“在 Ubuntu 18.04 上安装 MongoDB”的文章之一,这里有几条评论引用了mongodb安装包。mongodbUbuntu 提供的非官方包不是由 MongoDB 维护的。您应该始终使用官方的 MongoDBmongodb-org包。此外,从一些个人测试来看,mongodb如果您尝试安装mongodb-org,安装似乎会导致问题,所以它只是增加了麻烦
有几次我在本地测试时遇到这个问题,尝试安装其中一个子包(即mongodb-org-server)通常会出现实际错误(即 missing libcurl3,它在 18.04 中作为默认安装库被删除)。这些问题在测试开发构建时可能更常见(在撰写本文时,这是 4.2 开发系列)。
要检查您在本地系统上安装了哪个软件包,请运行以下命令:
sudo apt list --installed | grep mongo
Run Code Online (Sandbox Code Playgroud)
这是我安装后的输出mongodb,然后尝试mongodb-org:
mongo-tools/bionic,now 3.6.3-0ubuntu1 amd64 [installed,auto-removable]
mongodb-org/bionic,now 4.0.5 amd64 [installed]
mongodb-org-shell/bionic,now 4.0.5 amd64 [installed,automatic]
mongodb-server-core/bionic,now 1:3.6.3-0ubuntu1 amd64 [installed,auto-removable]
Run Code Online (Sandbox Code Playgroud)
所以你可以看到,我在两个包之间进行了混合(以及一堆dkpg错误)。我结束了使用的混合apt remove,apt autoremove以及apt purge来修复系统。
安装 MongoDB 并使用的最简单方法mongod命令的最简单方法。
更新包列表。
\n $ sudo apt update\nRun Code Online (Sandbox Code Playgroud)\n安装 MongoDB。
\n $ sudo apt install -y mongodb\nRun Code Online (Sandbox Code Playgroud)\n检查服务的状态。
\n $ sudo systemctl status mongodb\nRun Code Online (Sandbox Code Playgroud)\n3a. 你应该看到
\n \xe2\x97\x8f mongodb.service - An object/document-oriented database\n Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor \n preset:enabled)\n Active: active (running) since Sat 2019-03-11 10:45:01 UTC; 4min 13s ago\n Docs: man:mongod(1)\n Main PID: 2312 (mongod)\n Tasks: 23 (limit: 1153)\n CGroup: /system.slice/mongodb.service\n \xe2\x94\x94\xe2\x94\x802312 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config\n /etc/mongodb.conf\nRun Code Online (Sandbox Code Playgroud)\n允许默认访问 MongoDBport 27017
$ sudo ufw allow 27017\nRun Code Online (Sandbox Code Playgroud)\n检查状态
\n $ sudo ufw status\nRun Code Online (Sandbox Code Playgroud)\n5a. 你应该看到
\n Status: active\n To Action From\n -- ------ ----\n 27017 ALLOW Anywhere\n 27017 (v6) ALLOW Anywhere (v6)\nRun Code Online (Sandbox Code Playgroud)\n5b. 如果返回的话inactive
$ sudo ufw enable\n\n Output:\n Firewall is active and enabled on system startup.\nRun Code Online (Sandbox Code Playgroud)\n检查/目录下是否有data/db目录,如果没有:
$ sudo mkdir -p /data/db\nRun Code Online (Sandbox Code Playgroud)\n要运行mongod一个,您需要停止 mongodb:
$ sudo systemctl stop mongodb\nRun Code Online (Sandbox Code Playgroud)\n最后,您可以运行mongod:
$ sudo mongod\nRun Code Online (Sandbox Code Playgroud)\n这是因为到目前为止,适用于Ubuntu 18.04的Mongo DB仅作为开发版本提供(请参阅:MongoDB Distros)。
我只是通过执行以下操作安装它:
添加相应的签名:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4B7C549A058F8B6B
Run Code Online (Sandbox Code Playgroud)
添加支持的版本:
echo "deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/development multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
Run Code Online (Sandbox Code Playgroud)
更新:
sudo apt update
Run Code Online (Sandbox Code Playgroud)
安装:
sudo apt install mongodb-org-unstable
Run Code Online (Sandbox Code Playgroud)
如果出现“ GPG错误”,请使用错误消息中显示的密钥重复步骤1。您可能可以通过安装
sudo apt install mongodb
Run Code Online (Sandbox Code Playgroud)
但是根据MongoDB,此功能不受支持,并且很可能不会安装最新版本。
基于这个优秀的答案:https : //stackoverflow.com/a/51421152/659354
还有这个页面:https : //docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
我用来安装MongoDB 4.2的命令
sudo apt-get purge mongo*-注意: mongo 删除客户端和服务器。
sudo apt-get install mongodb-org-注意:安装命令在 Mongodb.org 源添加到 Apt-get 源列表后运行。