Total simpul noob di sini. Saya sudah mencoba menyiapkan aplikasi contoh simpul tetapi kesalahan berikut terus muncul setiap kali saya mencoba menjalankan:
aplikasi simpul
Failed to load c++ bson extension, using pure JS version
events.js:72
throw er; // Unhandled 'error' event
^
Error: failed to connect to [#$%67890 :27017]
at null.<anonymous> (/home/thejazeto/code/nodejs/authen/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:553:74)
at EventEmitter.emit (events.js:106:17)
at null.<anonymous> (/home/thejazeto/code/nodejs/authen/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:140:15)
at EventEmitter.emit (events.js:98:17)
at Socket.<anonymous> (/home/thejazeto/code/nodejs/authen/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:512:10)
at Socket.EventEmitter.emit (events.js:95:17)
at net.js:830:16
at process._tickCallback (node.js:415:13)
failed to connect to
, jadi saya pikirbson
pesan itu mungkin tidak berhubungan dan sebenarnya tidak penting. Apakah Anda yakin pengaturan koneksi Mongo Anda sudah benar?Jawaban:
Saya kira Anda tidak memiliki alat make yang tersedia ketika Anda menginstal perpustakaan mongodb Anda. Saya sarankan Anda lakukan
xcode-select --install
(di mac) atausudo apt-get install gcc make build-essential
(di ubuntu)dan lari
ATAU hanya pembaruan npm berdasarkan komentar @obia (setelah menginstal build-essential)
sumber
mongoskin
modul.sudo apt-get install gcc make build-essential
ujung adalah salah satu yang terbaik tips pengembangan Node.js + Ubuntu yang pernah saya lihat. Ini adalah pengubah permainan mutlak jika Anda terbiasa mengembangkan aplikasi web dan hanya mengembangkan dengan Node.js di Ubuntu.gcc
danmake
bersamabuild-essential
? Yang terakhir tergantung pada dua lainnya sehingga mereka akan tetap diinstal ( packages.ubuntu.com/trusty/build-essential ). Melakukannyasudo apt-get install build-essential
sudah cukup.Saya baru saja menyelesaikannya.
Ketika Anda menginstal modul luwak dengan npm, ia tidak memiliki modul bson bawaan di foldernya. Dalam file tersebut
node_modules/mongoose/node_modules/mongodb/node_modules/bson/ext/index.js
, ubah barisuntuk
dan kemudian instal modul bson menggunakan npm.
sumber
Saya telah menyortir masalah untuk mendapatkan "Gagal memuat ekstensi c ++ bson" pada raspbian (debian untuk raspberry) dengan:
lalu
sumber
npm update
, bahkan tanpa menginstal apa pun.Saya tidak dapat menyelesaikan ini
sampai sekarang. Pertama-tama Anda harus memiliki paket sistem yang disebutkan oleh Pradeep Mahdevu. Yaitu:
atau
Lalu saya sudah menginstal node-gyp
seperti datadracer katakan tetapi pembaruan npm juga disarankan olehnya berisiko. Ini memperbarui semua modul, yang bisa berbahaya (kadang-kadang API berubah antar versi).
Saya sarankan masuk ke direktori node_modules / mongodb / node_modules / bson dan dari sana gunakan
Itu memecahkan masalah bagi saya.
sumber
apt-get install python
) dan kemudian dari dalamnode_modules/mongoose/node_modules/mongodb/node_modules/bson/
jalankanmake
. Ini dibuatRelease/bson.node
.Masalah umum adalah bahwa node-gyp membutuhkan Python 2.x dan jika sistem Anda
python
menunjuk ke 3.x, itu akan gagal dikompilasibson
, tanpa peringatan. Anda dapat memperbaikinya dengan menetapkanpython
kunci global di konfigurasi npm Anda yang menunjuk ke 2.x yang dapat dieksekusi di sistem Anda. Misalnya, di Arch Linux:sumber
Pada MENANG 8.1
Sepertinya saya menggunakan versi luwak yang salah dalam
package.json
file saya .Saya menghapus garis
"mongoose" : "^3.8.15"
daripackage.json
.CLI:
Sekarang mengatakan
"mongoose": "^4.0.6"
dalampackage.json
dan kesalahan yang saya punya adalah pergi.sumber
Saya menjalankan Ubuntu 14.04 dan untuk memperbaikinya untuk saya, saya harus membuat symlink untuk node untuk menunjuk ke nodejs seperti yang dijelaskan di sini:
nodejs vs node di ubuntu 12.04
Setelah saya melakukannya saya menjalankan kembali perintah-perintah ini:
sumber
Jadi dalam kasus saya, saya pertama kali mencoba memeriksa di bawah direktori ini / node_modules / mongoose / node_modules / , hanya untuk mengkonfirmasi bahwa saya memiliki modul bson . Saya tahu saya tidak memilikinya, lalu saya lari saja
lalu
Semua diurutkan. Sudah dicoba dan diuji di Ubuntu.
sumber
make
di/devel/node_modules/bson/
npm install bson
hanya ingin mengatakan saya juga memiliki kesalahan
Tetapi dengan tidak ada kesalahan lainnya. Saya mencoba semuanya dan ternyata driver mongodb yang saya tentukan di file package.json tidak kompatibel dengan versi MongoDB saya. Saya mengubahnya ke versi terbaru saya (1.4.34) dan berhasil !!!
sumber
sudo npm rebuild
itulah yang diperbaiki bagi saya.sumber
Saya akhirnya memperbaiki kesalahan ini dengan memperbarui versi ketergantungan mongodb saya ke ~ 2.0.36 di
package.json
.sumber
Sayangnya, Semua jawaban di atas hanya setengah benar .. Butuh waktu lama untuk mencari tahu ini ..
Bo luoose instal via npm melempar peringatan dan menyebabkan kesalahan ...
Ini bekerja seperti sihir !!
sumber
$ node gyp rebuild module.js:341 throw err; ^ Error: Cannot find module '/private/tmp/js-bson/gyp' at Function.Module._resolveFilename (module.js:339:15) at Function.Module._load (module.js:290:25) at Function.Module.runMain (module.js:447:10) at startup (node.js:140:18) at node.js:1001:3
Bagi saya hanya perlu menjalankan perintah ini di direktori api saya:
sumber
Saya hanya berlari:
dan
dan semua menjadi baik-baik saja.
sumber
Pesan ekstensi bson hanyalah peringatan , saya mendapatkannya setiap saat di aplikasi nodejs saya.
Hal-hal yang perlu diperiksa:
sumber
Saya memperbaiki masalah ini pada CentOS oleh
sumber
Saya memperbaikinya dengan mengubah baris 10 dari:
dari:
untuk:
sumber
Saya juga mendapat masalah ini dan itu menyebabkan sesi saya tidak berfungsi. Tapi jangan sampai putus ...
Saya menggunakan koneksi luwak.
Saya punya ini:
Sangat mudah. Tapi req.session tetap kosong.
Lakukan triknya. Awas, Anda tidak memiliki 'mongodb' di paket Anda. Johnny! Hanya luwak dan hubungkan-mongo.
sumber
Inilah cara saya memperbaiki masalah di Ubuntu:
ln -s /usr/bin/nodejs /usr/bin/node
npm install node-gyp
cd node_modules/mongodb/node_modules/bson
node-gyp rebuild
Terinspirasi oleh jawaban @mbochynski, tetapi saya harus membuat tautan simbolis terlebih dahulu, jika tidak, pembangunan kembali gagal.
sumber
saya mengalami masalah yang sama mencoba begitu banyak pilihan tetapi yang terakhir
npm intall
di folder aplikasi rata-rata saya berhasil.sumber
Saya punya masalah ini karena saya menyertakan folder node_modules di repositori Git saya. Ketika saya membangun kembali node_modules di sistem lain itu berhasil. Salah satunya menjalankan Linux, OS X lainnya. Mungkin mereka memiliki arsitektur prosesor yang berbeda juga.
sumber
Saya memiliki masalah yang sama pada contoh EC2 saya. Saya pikir penyebab awalnya adalah karena saya memiliki instance Node berjalan ketika saya menginstal Mongo. Saya menghentikan layanan Node dan kemudian berlari
di dalam folder tingkat atas proyek simpul saya. Ini memperbaiki masalah dan semuanya seperti baru
sumber
Saya mencoba untuk menjalankan node pada folder mesin virtual (gelran) bersama. Itu masalah. Mesin host saya adalah Windows, menginstal node pada Windows dan bekerja seperti pesona. Jadi jika Anda menggunakan mesin virtual, coba jalankan server simpul pada mesin host.
sumber
Saya hanya memiliki masalah yang sama dan benar-benar tidak ada yang berhasil untuk saya. Kesalahan yang ditampilkan
kerberos
menyebabkan masalah dan itu adalah salah satumongoose
dependensi. Karena saya menggunakan Ubuntu, saya pikir mungkin ada masalah izin di suatu tempat antara paket yang diinstal secara global -/usr/lib/node_modules
viasudo
, dan yang ada di ruang pengguna.Saya menginstal
mongoose
secara global -sudo
tentu saja, dan semuanya mulai berfungsi seperti yang diharapkan.PS
kerberos
Paket ini sekarang juga diinstal secara global di sebelahnyamongoose
, namun saya tidak ingat apakah saya sengaja melakukannya - ketika saya sedang mencoba menyelesaikan masalah, atau jika sudah ada sejak awal.sumber
Saya sedang mengerjakan Docker dengan centOS 7, dan mengalami masalah yang sama.
setelah melihat sekeliling, dan mencoba beberapa kali, saya memperbaiki masalah ini dengan menginstal mongodb, dan mongodb-server
Saya tidak berpikir ini adalah cara terbaik untuk menghasilkan wadah minimal. tapi saya bisa membatasi ruang lingkup ke dalam paket-paket berikut
sumber
Untuk Windows 7.1, petunjuk ini membantu saya memperbaiki lingkungan build saya:
https://github.com/mongodb/js-bson/issues/58#issuecomment-68217275
http://christiankvalheim.com/post/diagnose_installation_problems/
sumber
Saya dapat mengatasinya dengan menghapus dan menginstal ulang paket biksu. Instalasi awal tampaknya memiliki ketergantungan mongodb / bson yang rusak.
sumber
Followint @ user1548357 Saya memutuskan untuk mengubah file modul itu sendiri. Sehingga untuk menghindari masalah yang ditunjukkan oleh komentar yang valid di bawah ini saya memasukkan perubahan saya dalam skrip postinstall sehingga saya dapat mengatur dan melupakannya dan yakin bahwa itu akan berjalan ketika modul saya diinstal.
dan skripnya adalah:
sumber
dengan mudah menendang masalah dengan hanya menambahkan baris ini baik mencoba dan menangkap jalur blok:
node_modules/mongoose/node_modules/mongodb/node_modules/bson/ext/index.js
Itu semuanya!!!
sumber
Satu-satunya hal yang membantu saya di Windows 7 (x64): https://stackoverflow.com/a/29714359/2670121
Instal ulang node dan python dengan versi x32.
Saya menghabiskan banyak waktu dengan kesalahan ini:
dan akhirnya, ketika saya menginstal modul
node-gyp
(untuk membangun addons asli) dan bahkan menginstal windows SDK dengan visual studio - nodejs tidak mengenali modul yang dirakitbson.node
sebagai modul. Setelah menginstal ulang masalah hilang.Lagi, Apa artinya kesalahan ini?
Sebenarnya, itu bahkan bukan kesalahan. Anda masih bisa menggunakan luwak. Tetapi dalam hal ini, alih-alih realisasi asli
bson
modul yang cepat, Anda dapatkanjs-realization
, yang lebih lambat.Saya melihat banyak tips seperti: "edit path jauh di dalam node_modules ..." - yang sama sekali tidak berguna, karena tidak menyelesaikan masalah, tetapi hanya mematikan pesan kesalahan.
sumber