E: ไม่พบแพ็คเกจ mongodb-org


103

ฉันพยายามดาวน์โหลด mongodb และกำลังทำตามขั้นตอนในลิงค์นี้

แต่เมื่อฉันไปถึงขั้นตอน:

sudo apt-get install -y mongodb-org

ฉันได้รับข้อผิดพลาดต่อไปนี้:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package mongodb-org  //This is the error

เหตุใดจึงเกิดขึ้นและมีวิธีแก้ไขหรือไม่?

คำตอบ:


204

ฉันประสบปัญหาเดียวกัน แต่แก้ไขได้โดยการเปลี่ยนคำสั่งส่วนไฟล์แพ็คเกจ ขั้นตอนทั้งหมดที่ฉันทำคือ:

ตอนแรกลองใช้คำสั่งนี้: sudo apt-get install -y mongodb

นี่คือแพ็คเกจ mongodb ที่ไม่เป็นทางการที่จัดทำโดย Ubuntu และ MongoDB ไม่ได้รับการดูแลและขัดแย้งกับแพ็คเกจที่รองรับอย่างเป็นทางการของ MongoDB

หากคำสั่งข้างต้นไม่ทำงานคุณสามารถแก้ไขปัญหาได้โดยทำตามขั้นตอนต่อไปนี้:

#Step 1:  Import the MongoDB public key
#In Ubuntu 18.*+, you may get invalid signatures. --recv value may need to be updated to EA312927. 
#See here for more details on the invalid signature issue: [https://stackoverflow.com/questions/34733340/mongodb-gpg-invalid-signatures][1]

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

#Step 2: Generate a file with the MongoDB repository url
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

#Step 3: Refresh the local database with the packages
sudo apt-get update

#Step 4: Install the last stable MongoDB version and all the necessary packages on our system
sudo apt-get install mongodb-org

         #Or
# The unofficial mongodb package provided by Ubuntu is not maintained by MongoDB and conflict with MongoDBs offically supported packages. Use the official MongoDB mongodb-org packages, which are kept up-to-date with the most recent major and minor MongoDB releases.
sudo apt-get install -y mongodb 

หวังว่านี่จะเหมาะกับคุณเช่นกัน คุณสามารถติดตามMongoDBนี้

อัปเดต คำแนะนำข้างต้นจะติดตั้งเวอร์ชัน mongodb 2.6 หากคุณต้องการติดตั้งเวอร์ชันล่าสุดให้Uubuntu 12.04แทนที่ด้านบนstep 2และทำตามคำแนะนำต่อไปนี้:

#Step 2: Generate a file with the MongoDB repository url
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list

หากคุณกำลังใช้ให้Ubuntu 14.04ใช้ขั้นตอนร้องแทนด้านบนstep 2

#Step 2: Generate a file with the MongoDB repository url
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

1
ทำงานให้ฉันบน Ubuntu 14.10 (คำตอบอื่นไม่ได้) หลังจากที่ฉันแก้ไขคำสั่งในขั้นตอนที่ 2
julien_c

1
อ๊ะไม่ขออภัยยังใช้งานไม่ได้ (สิ่งนี้ติดตั้ง Mongo 2.6ไม่ใช่เวอร์ชันล่าสุดที่เสถียร3.0) ดูคำตอบของฉันเอง
julien_c

36
มันแย่มากที่ใช้งานได้และคู่มือเว็บไซต์อย่างเป็นทางการไม่ได้
Dan Pantry

1
คำแนะนำอย่างเป็นทางการของ MongoDB ไม่ได้ระบุว่า URL ที่เก็บมีไว้สำหรับ 2.6 ฉันต้องทำตามขั้นตอนที่ 2 ที่อัปเดตของคุณด้วย URL ที่ถูกต้องเพื่อใช้ sudo apt-get install mongodb-org หลังจากนั้นก็แก้ไขปัญหา
Daniel Eagle

2
ฉันลองใช้คำสั่งสำหรับ Ubuntu 14.04 แล้วก็ยังไม่ทำงาน!
alexventuraio

59

ปัญหาที่เกิดขึ้นจริงที่นี่อาจจะเป็นถ้าคุณมี32 บิตระบบ MongoDB 3.X ไม่เคยถูกสร้างขึ้นเพื่อใช้กับระบบ 32 บิตดังนั้นการรีโพสต์สำหรับ 32 บิตจึงว่างเปล่า (ด้วยเหตุนี้จึงไม่พบ) การติดตั้งแพ็คเกจ 2.X Ubuntu เริ่มต้นอาจเป็นทางออกที่ดีที่สุดของคุณด้วย:

sudo apt-get install -y mongodb 


วิธีแก้ปัญหาอื่นหากคุณยังต้องการรับ Mongo เวอร์ชันล่าสุด:

คุณสามารถไปที่ https://www.mongodb.org/downloads และใช้เมนูแบบเลื่อนลงเพื่อเลือก "Linux 32-bit legacy"

แต่ก็แลกมาด้วยข้อ จำกัด ที่รุนแรง...

การแจกจ่ายแบบดั้งเดิม 32 บิตนี้ไม่รวมการเข้ารหัส SSL และ จำกัด ไว้ที่ข้อมูลประมาณ 2GB โดยทั่วไปคุณควรใช้รุ่น 64 บิต ดูที่นี่สำหรับข้อมูลเพิ่มเติม


45

ลองโดยไม่ใช้ '-org':

sudo apt-get install -y mongodb

ทำงานให้ฉัน!


7
นี่อาจเป็นแพ็คเกจเริ่มต้นของ Ubuntu ไม่มีประโยชน์หากคุณต้องการ mongo ล่าสุด
แบตเตอรี่

1
นี่อาจเป็นแพ็คเกจเริ่มต้นของ Ubuntu เหมาะสำหรับการเริ่มต้นอย่างรวดเร็ว แต่หากคุณต้องการแพ็คเกจล่าสุดจาก mongo.org โดยเฉพาะจำเป็นต้องมีขั้นตอนเพิ่มเติม
John D

2
ปัญหาที่แท้จริงที่นี่อาจเกิดขึ้นหากคุณมีระบบ 32 บิต MongoDB 3.X ไม่เคยถูกสร้างขึ้นเพื่อใช้กับระบบ 32 บิตดังนั้นการรีโพสต์สำหรับ 32 บิตจึงว่างเปล่า (ด้วยเหตุนี้จึงไม่พบ)
John D

2
นั่นคือปัญหาและนี่คือคำตอบที่แท้จริง :-) เป็นเพียงสิ่งที่เว็บไซต์ Mongo ไม่ได้กล่าวอย่างชัดเจน ในที่แห่งหนึ่งพวกเขาบอกว่าคุณควรรัน MongoDB บน ​​64 บิตสำหรับการใช้งานจริงในอีกแห่งหนึ่งระบุว่ามีแพ็คเกจสำหรับทั้ง 32 บิตและ 64 บิตสำหรับสภาพแวดล้อมการทดสอบ
แบตเตอรี่

ฉันได้เพิ่มคำตอบโดยละเอียดเพิ่มเติมด้านล่างซึ่งสรุปปัญหา (ตามความคิดเห็นที่เป็นประโยชน์ทั้งหมดขอบคุณ!) และเสนอวิธีแก้ปัญหาบางประการ คุณช่วยโหวตให้คะแนนคำตอบแทนคำตอบนี้ได้ไหม
John D

7

ฉันใช้ Ubuntu 14.04; และ apt ยังไม่พบแพ็คเกจ ฉันลองใช้คำตอบทั้งหมดข้างต้นแล้ว URL ที่เหมาะกับฉันคือ:

echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

ที่มา: http://www.liquidweb.com/kb/how-to-install-mongodb-on-ubuntu-14-04/


6

ขั้นตอนทั้งหมดถูกต้องเพียงแค่เปลี่ยนขั้นตอนที่ 4 ดังต่อไปนี้

  • ขั้นตอนที่ 4: ติดตั้ง MongoDB เวอร์ชันสุดท้ายที่เสถียรและแพ็คเกจที่จำเป็นทั้งหมดในระบบของเรา

คำสั่ง: sudo apt-get install mongodb

มันได้ผลสำหรับฉัน


นี่คือการติดตั้งแพ็คเกจ mongo ที่ไม่เป็นทางการเริ่มต้นของ Ubuntu ซึ่ง Naim ได้กล่าวไว้แล้วในคำตอบยอดนิยม คุณไม่จำเป็นต้องทำตามขั้นตอนก่อนหน้านี้
shaahiin

4

หากคุณกำลังใช้MongoDB 3.3 Repository (ตามที่เว็บไซต์ MongoDB แนะนำอย่างเป็นทางการในปัจจุบัน)คุณควรพิจารณาว่าชื่อแพ็กเกจที่ใช้สำหรับเวอร์ชัน 3.3 คือ:

mongodb-org- ไม่เสถียร

จากนั้นคำสั่งการติดตั้งที่เหมาะสมสำหรับเวอร์ชันนี้จะเป็น:

sudo apt-get install -y mongodb-org-unstable

เมื่อพิจารณาถึงสิ่งนี้ฉันขอแนะนำให้ใช้เวอร์ชันเสถียรล่าสุดปัจจุบัน (v3.2)จนกว่า v3.3 จะเสถียรคำสั่งในการติดตั้งจะแสดงอยู่ด้านล่าง:

ดาวน์โหลดคีย์ที่เก็บ v3.2:

wget -qO - https://www.mongodb.org/static/pgp/server-3.2.asc | sudo apt-key add -

หากคุณทำงานกับUbuntu 12.04หรือMint 13 ให้เพิ่มที่เก็บต่อไปนี้:

echo "deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

หากคุณทำงานกับUbuntu 14.04หรือMint 17 ให้เพิ่มที่เก็บต่อไปนี้:

echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

หากคุณทำงานกับUbuntu 16.04หรือMint 18 ให้เพิ่มที่เก็บต่อไปนี้:

echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

อัปเดตรายการแพ็คเกจและติดตั้ง mongo:

sudo apt-get update
sudo apt-get install -y mongodb-org

3

คำตอบที่ยอมรับในปัจจุบันใช้งานได้ แต่จะติดตั้ง Mongo เวอร์ชันที่ล้าสมัย

เอกสาร Mongo ระบุว่า: MongoDB มีเฉพาะแพ็คเกจสำหรับ Ubuntu 12.04 LTS (Pangolin ที่แม่นยำ) และ 14.04 LTS (Trusty Tahr) อย่างไรก็ตามแพ็คเกจเหล่านี้อาจใช้ได้กับ Ubuntu รุ่นอื่น ๆ

ดังนั้นเพื่อให้ได้ Mongo ( 3.0) ที่เสถียรล่าสุดให้ใช้สิ่งนี้ (ขั้นตอนที่แตกต่างคือขั้นตอนที่สอง):

    apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
    echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list
    apt-get update
    apt-get install mongodb-org

หวังว่านี่จะช่วยได้


ฉันต้องการเพิ่มขั้นตอนก่อนหน้านี้คุณต้องตรวจสอบ GNU / Linux Distro Release ของคุณซึ่งจะสร้าง URL รายการ Repo สำหรับฉันขณะที่ฉันใช้สิ่งนี้:

DISTRIB_CODENAME=rafaela
DISTRIB_DESCRIPTION="Linux Mint 17.2 Rafaela"
NAME="Ubuntu"
VERSION="14.04.2 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.2 LTS"

ขั้นตอนที่ 2 ดั้งเดิม:

"Create a list file for MongoDB": "echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list"

ไม่ทำงานตามที่ตั้งใจไว้เนื่องจากสร้าง URL ของ Repo ที่ไม่ถูกต้อง โดยทั่วไปจะใส่ชื่อรหัสการแจกจ่าย"rafaela"ไว้ใน url repo ซึ่งไม่มีอยู่ คุณสามารถตรวจสอบ Repo url ได้ที่ตัวจัดการแพ็คเกจภายใต้ Software Sources, Additional Repositories

สิ่งที่ฉันทำคือเรียกดูไซต์:

http://repo.mongodb.org/apt/ubuntu/dists/

และฉันพบว่าสำหรับ Ubuntu "เชื่อถือได้" และ "แม่นยำ" เป็นโฟลเดอร์เว็บเดียวที่มีให้ใช้งานไม่ใช่ "rafaela"

วิธีแก้ไข : เปิดไฟล์ 'mongodb-org-3.1.list' หรือ 'mongodb.list' ในฐานะรูทและแทนที่ "rafaela" หรือเวอร์ชันที่วางจำหน่ายของคุณสำหรับเวอร์ชันที่เกี่ยวข้อง (สำหรับฉันแล้วมันคือ "trusty") บันทึกการเปลี่ยนแปลงและ ดำเนินการตามขั้นตอนต่อไป นอกจากนี้ผู้จัดการแพ็กเกจของคุณยังสามารถให้คุณเปลี่ยน repo url ได้อย่างง่ายดายอีกด้วย

หวังว่าจะเหมาะกับคุณ.! ---



1

ก่อนอื่นคุณต้องเพิ่มฐานข้อมูลแพ็กเกจและเพิ่มคีย์ PGP

เรียกใช้สิ่งต่อไปนี้

#add pgp key
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

#add package file
echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

#update package list
sudo apt-get update

#install mongo
sudo apt-get install -y mongodb-org

2
ฉันมีแล้วมันทำงานได้อย่างสมบูรณ์จนถึงขั้นตอนที่สาม แต่แล้วฉันก็ได้รับข้อผิดพลาดข้างต้น
anonn023432

สิ่งนี้จะเกิดขึ้นหากไม่ได้รันการอัปเดต apt-get และ / หรือรายการแหล่งข้อมูลว่างเปล่า วิ่งได้cat /etc/apt/sources.list.d/mongodb-org-3.0.listไหม?
Jeff Sloyer

2
ใช่หรือไม่นี่คือสิ่งที่ฉันได้deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.0 multiverse
anonn023432

1

ฉันมีปัญหาเดียวกันใน 14.04 แต่ฉันแก้ไขโดยขั้นตอนเหล่านี้:

  1. sudo apt-key adv --keyserver hkp: //keyserver.ubuntu.com: 80 --recv 7F0CEB10
  2. echo "deb http://repo.mongodb.org/apt/ubuntu " $ (lsb_release -sc) "/ mongodb- org / 3.0 multiverse" | sudo ที /etc/apt/sources.list.d/mongodb-org-3.0.list
  3. อัปเดต sudo apt-get
  4. sudo apt-get install -y mongodb

มันทำงานได้อย่างมีเสน่ห์ :)


สิ่งนี้จะติดตั้งแพ็คเกจ Ubuntu 2.X เริ่มต้นไม่ใช่ 3.X ล่าสุดจาก mongo.org (ดูความคิดเห็นเกี่ยวกับคำตอบอื่น ๆ ด้านบนและด้านล่าง)
John D

ฉันต้องการให้คุณดูเว็บไซต์อย่างเป็นทางการ docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu ในเว็บไซต์อย่างเป็นทางการมีข้อผิดพลาดในบรรทัดนี้ 4 sudo apt-get install -y mongodb
YLS

1

สิ่งนี้ใช้ได้กับ Ubuntu 17.04

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list

sudo apt-get update

sudo apt-get install -y mongodb-org

หากคุณพบความล้มเหลวเช่น:

dpkg: error processing archive /var/cache/apt/archives/mongodb-org-tools_3.6.2_amd64.deb (--unpack):
trying to overwrite '/usr/bin/bsondump', which is also in package mongo-tools 3.2.11-1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)

จากนั้นเรียกใช้คำสั่งนี้:

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" |

sudo ที /etc/apt/sources.list.d/mongodb-org-3.6.list

และ

sudo apt update
sudo apt install mongodb-org

อ้างอิง:


0

ผมมีปัญหาเดียวกันบน Ubuntu 16.04 เมื่อผมทำตามขั้นตอนที่โพสต์บนเอกสารอย่างเป็นทางการ
จากนั้นฉันก็ลบข้อความ "[arch = amd64, arm64]" ในขั้นตอนที่ 2และมันใช้ได้กับฉัน

echo "deb https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list   
apt-get install -y mongodb-org  

0

สำหรับผู้ที่ใช้Ubuntu 18.04สามารถรันคำสั่งนี้:

สร้าง/etc/apt/sources.list.d/mongodb-org-4.2.listไฟล์สำหรับUbuntu 18.04 (Bionic) :

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.