我正在尝试在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
现在这里我出现错误提示:您可能要运行'apt --fix-broken 安装”来更正这些。以下软件包尚未满足 依赖项:
我尝试过
apt --fix-broken install
它不起作用,在我有线索可以运行的地方
sudo apt -f install
它也返回错误。
处理时遇到错误: /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,这样我可以毫无问题地工作。
答案 0 :(得分:8)
您需要先卸载mongodb,可以使用:
sudo apt-get purge mongodb-org*
此后,通过以下命令安装mongodb:
sudo apt-get install mongodb
然后更新:
sudo apt-get update
您已完成mongodb的安装。您可以使用以下命令进行检查:
mongo --version
答案 1 :(得分:3)
这是因为到目前为止,用于Ubuntu 18.04的Mongo DB仅作为开发版本可用(请参阅:MongoDB Distros)。
我只是通过以下操作安装了它:
添加相应的签名:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4B7C549A058F8B6B
添加受支持的版本:
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
更新:
sudo apt update
安装:
sudo apt install mongodb-org-unstable
如果出现“ GPG错误”,请使用错误消息中显示的密钥重复步骤1。您也许可以通过
安装sudo apt install mongodb
但是根据MongoDB,这不受支持,并且很可能不会安装最新版本。
答案 2 :(得分:2)
基于此出色的答案: 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来源列表中后,运行安装命令。
答案 3 :(得分:1)
只是想在这里鸣响。我是MongoDB服务器文档的高级技术作家。这篇文章是“在Ubuntu 18.04上安装MongoDB”附带的一些文章之一,这里有几条评论引用mongodb
软件包进行安装。 MongoDB不维护Ubuntu提供的非官方mongodb
软件包。您应该始终使用官方的MongoDB mongodb-org
软件包。此外,从一点个人测试来看,如果您尝试安装mongodb
,似乎安装了mongodb-org
会引起问题,因此这只会增加麻烦
几次在本地测试时遇到此问题,尝试安装其中一个子软件包(即mongodb-org-server
)通常会出现实际错误(即缺少libcurl3
,该错误已在18.04作为默认安装的库)。在开发测试构建时,这些问题可能更常见(在撰写本文时,这是4.2开发人员系列)。
要检查您在本地系统上安装了哪个软件包,请运行以下命令:
sudo apt list --installed | grep mongo
这是我安装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]
所以您可以看到,我在这两个软件包之间混合使用(以及一堆dkpg
错误)。我最终使用apt remove
,apt autoremove
和apt purge
的组合来修复系统。
答案 4 :(得分:1)
我遇到了同样的问题,对我来说,解决方案是清除,但带有(*)。清除所有东西,所以我这样做了:
sudo apt-get purge mongo-tools*
sudo apt-get purge mongodb*
然后我按照文档中的步骤进行操作。 (实际版本是4.2.2),并且安装是在Ubuntu 18.04中进行的。 (URL:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/)
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
sudo apt-get update
sudo apt-get install -y mongodb-org
有了文档中的四个步骤,我终于在Ubuntu上安装了mongodb社区版。我的问题是3个文件无法处理。
mongodb-org-server
mongodb-org-mongos
mongodb-org-tools
我希望它能对某人有所帮助
答案 5 :(得分:0)
如果需要将mongodb二进制文件(手动)安装到Ubuntu 18.04 LTS(Bionic)。您需要从此link下载mongodb .tgz文件。
1)将其下载到〜/ Downloads文件夹,然后通过键入mv Downloads/mongodb-linux-x86_64-ubuntu1804-4.0.4.tgz ~/
2)然后通过键入tar -zxvf mongodb-linux-x86_64-ubuntu1804-4.0.4.tgz
将其放置在此处(主目录/ home /)。不要从这里移动它。
3)然后在/ data / db位置创建一个目录,并对该目录授予写权限。
sudo mkdir -p /data/db
sudo chmod -R 777 /data/db
4)现在,这是棘手的区域。通过输入pwd(当前工作目录)来确保您在hme目录中。
pwd
它将显示
/home/<your user name>
然后输入
ls -al
此命令将显示主目录中的所有隐藏文件并搜索
~/.bashrc
5)编辑.bashrc文件并编写
export PATH=mongodb-linux-x86_64-ubuntu1804-4.0.4/bin:$PATH
并保存文件类型source ./bashrc
然后在终端上键入echo $PATH
,它将显示~/mongodb-linux-x86_64-ubuntu1804-4.0.4/bin:/home/xenon/.nvm/versions/node/v10.15.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
6)现在在终端类型mongo --nodb
上
它会显示MongoDB shell version v4.0.4
从这里开始,您已准备就绪,继续进行mongodb安装。这个安装有点复杂,但是通过这种方法,您可以轻松控制mongodb的版本并根据需要使用它。
7)然后启动mongod
>sudo mkdir -p /var/log && sudo chmod -R 777 /var/log
>mongod --port 27017 --dbpath /data/db --logpath /var/log/local.log --fork
>mongo --port 27017
答案 6 :(得分:0)
运行sudo apt autoremove
并重新安装 mongodb 。
答案 7 :(得分:0)
mongod
命令的最简单方法。 $ sudo apt update
$ sudo apt install -y mongodb
$ sudo systemctl status mongodb
3a。您应该会看到
● mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor
preset:enabled)
Active: active (running) since Sat 2019-03-11 10:45:01 UTC; 4min 13s ago
Docs: man:mongod(1)
Main PID: 2312 (mongod)
Tasks: 23 (limit: 1153)
CGroup: /system.slice/mongodb.service
└─2312 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config
/etc/mongodb.conf
port 27017
$ sudo ufw allow 27017
$ sudo ufw status
5a。你应该看到
Status: active
To Action From
-- ------ ----
27017 ALLOW Anywhere
27017 (v6) ALLOW Anywhere (v6)
5b。如果返回inactive
$ sudo ufw enable
Output:
Firewall is active and enabled on system startup.
/
目录,看是否有data/db
目录,如果没有: $ sudo mkdir -p /data/db
mongod
,您需要停止mongodb: $ sudo systemctl stop mongodb
mongod
: $ sudo mongod
答案 8 :(得分:0)
cd /etc/apt/sources.list.d
删除与mongodb相关的文件
sudo apt update
这为我解决了。
答案 9 :(得分:0)
只需运行命令 sudo apt install mongodb ,它将安装mongodb,因为mongodb现在已成为ubuntu存储库的一部分。安装后,运行命令 sudo service mongodb start 来启动mongodb服务器。然后,如果您运行命令 mongo ,它将为您提供shell助手。要查看现有数据库,请使用命令 show dbs 。成功安装后,您会发现其中现有的数据库名称为 admin,config,local 。使用命令 db 查看服务器上当前正在运行哪个数据库,将会有一个名为 test or somthing 的数据库。要添加集合(SQL DB上的表),只需将insert命令与初始文档(SQL DB中的行)一起使用,信息为 db.data.insert({“ username”:“ Brad Pitt”})
在上一个命令中,数据是我的收藏名称。
现在,要查看数据收集中的所有文档,只需使用命令 db.data.find() ;;
其他命令:
sudo服务mongod状态,sudo服务mongodb停止,sudo服务mongod重新启动,sudo服务mongod停止。
有关更多信息,您可以访问https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
答案 10 :(得分:0)
对于Ubuntu 18.04 LTS版本,最好手动安装MongoDB。
我需要执行以下步骤以使其在我的Ubuntu 18.04上运行:
mongod:/usr/lib/x86_64-linux-gnu/libcurl.so.4:版本 找不到“ CURL_OPENSSL_3”(mongod必需)
要解决此问题,您需要使用以下命令来卸载“ libcurl4”依赖库
sudo apt-get删除libcurl4
然后需要安装较低的curl版本(例如“ libcurl3”),因为mongo希望在ubuntu版本“ 18.04”上安装它。
sudo apt-get install libcurl3
如果手动步骤失败,则可能需要使用“ sudo”在安装时派生数据和日志目录
sudo mongod --dbpath / var / lib / mongo --logpath /var/log/mongodb/mongod.log --fork
您现在可以运行“ mongo”命令以查看mongo shell运行。
对我有用。
答案 11 :(得分:0)
卸载并删除所有Mongo软件包。
$ sudo apt-get purge mongodb-org*
检查相关目录是否已删除
$ sudo rm -r /var/log/mongodb
$ sudo rm -r /var/lib/mongodb
重新检查是否自动删除所有剩余的mongo软件包
$ sudo apt-get autoremove
配置目录
$ sudo dpkg --configure -a
强制安装所有必需的内容
$ sudo apt-get install -f
从官方站点安装:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
最后像以前一样重新启动Ubuntu,并检查Mogodb服务器的状态。
答案 12 :(得分:0)
对于我在Pop_OS Linux 20.04 LTS上的帮助:
$ sudo apt-get purge mongodb*
然后通过以下命令为Ubuntu 18.04(Bionic)创建/etc/apt/sources.list.d/mongodb-org-4.4.list
文件:
$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
代替Ubuntu 20.04(Focal)
之后,安装mongodb-org:
$ sudo apt-get update
$ sudo apt-get install -y mongodb-org
并启动mongodb服务:
$ sudo systemctl start mongod
答案 13 :(得分:-1)
尝试一下,我成功找到了
$ sudo apt-get install -y mongodb