Saya menjalankan aplikasi simpul di terminal. Baru-baru ini ditingkatkan ke simpul v8.5.0, tetapi saya mendapatkan kesalahan ini:
Error: The module '/tidee/tidee-au/packages/tidee-au-server/node_modules/bcrypt/lib/binding/bcrypt_lib.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 51. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
at Object.Module._extensions..node (module.js:653:18)
at Module.load (module.js:545:32)
at tryModuleLoad (module.js:508:12)
at Function.Module._load (module.js:500:3)
at Module.require (module.js:568:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/tidee/tidee-au/packages/tidee-au-server/node_modules/bcrypt/bcrypt.js:6:16)
at Module._compile (module.js:624:30)
at Module._extensions..js (module.js:635:10)
at Object.require.extensions.(anonymous function) [as .js] (/tidee/tidee-au/packages/tidee-au-server/node_modules/babel-register/lib/node.js:152:7)
at Module.load (module.js:545:32)
at tryModuleLoad (module.js:508:12)
at Function.Module._load (module.js:500:3)
at Module.require (module.js:568:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/tidee/tidee-au/packages/tidee-au-server/server/helpers/encryptPass.js:1:16)
Ada ide untuk mengatasi ini?
node.js
npm
version
node-modules
JoeTidee
sumber
sumber
Jawaban:
Anda perlu menghapus folder modul (
bcrypt
) darinode_modules
folder dan menginstalnya kembali, gunakan perintah berikut:sumber
zmq
paket, dan membangun kembali atau menghapusnya dannpm installing
sekali lagi tidak membantu. Selalu masalah yang sama.rm -rf node_modules
. Hapus npm cache:,npm cache clear
hapus package-lock.json atau npm-shrinkwrap.json. Dan hanya setelah lari itunpm i
.npm cache clear
, perintah lain membuatnyaSaya memiliki masalah yang sama dan tidak ada yang disebutkan di sini bekerja untuk saya. Inilah yang bekerja untuk saya:
main.js
file yang dijalankan oleh elektron. (Ini sepertinya menjadi bagian penting pertama bagi saya)npm i -D electron-rebuild
untuk menambahkan paket membangun kembali elektronnode-modules
folder, dan jugapackages-lock.json
file.npm i
untuk menginstal semua modul../node_modules/.bin/electron-rebuild
(.\node_modules\.bin\electron-rebuild.cmd
untuk Windows) untuk membangun kembali semuanyaSangat penting untuk menjalankan
./node_modules/.bin/electron-rebuild
langsung setelahnpm i
itu tidak berfungsi pada mac saya.Saya harap saya bisa membantu beberapa jiwa yang frustrasi.
sumber
Anda harus membangun kembali paket dan memberi tahu npm untuk memperbarui binernya juga . Mencoba:
@robertklep menjawab pertanyaan relatif dengan perintah ini, lihat .
Hanya rekondisi yang belum menyelesaikan masalah saya, ini berfungsi dengan baik di aplikasi saya.
Semoga ini bisa membantu!
sumber
Cukup jalankan:
npm uninstall bcrypt
Diikuti oleh:
npm install bcrypt
(ataunpm install
, jika bcrypt dinyatakan sebagai dependensi dalam file package.json Anda )sumber
Anda dapat melihat tautan ini
untuk memeriksa simpul simpul Anda dengan benar. menggunakan NODE_MODULE_VERSION 51 berarti bahwa versi node Anda adalah nodejs v7.x, membutuhkan NODE_MODULE_VERSION 57 berarti Anda perlu memutakhirkan node Anda ke v8.x, sehingga Anda perlu memutakhirkan node Anda. dan kemudian Anda perlu menjalankan
npm rebuild
perintah untuk membangun kembali proyek Andasumber
11/stable
ke8/stable
dengan$ snap refresh node --channel=8/stable
di Ubuntu. Setelah itu$ npm rebuild
.NODE_MODULE_VERSION 51
berarti.node
file dikompilasi terhadap beberapa versi node menggunakan NODE_MODULE_VERSION 51. Dan pengguna menggunakan versi node menggunakan 57, jadi ia tidak dapat menggunakannya secara langsung. Pengguna harus membangun kembali kompilasi.Kemungkinan besar Anda memiliki masalah ini karena package-lock.json. Entah bagaimana itu tampaknya menghalangi Anda mengkompilasi ulang atau membangun kembali dependensi Anda, bahkan jika Anda menjalankannya secara eksplisit
npm rebuild
. Saya menjalankan semua yang berikut untuk memperbaikinya untuk saya:sumber
Pastikan Anda hanya menginstal satu versi NodeJS. Coba dua ini:
Saya awalnya menginstal NodeJS dari sumber, tetapi itu adalah versi yang salah dan 'ditingkatkan' ke versi terbaru menggunakan
nvm
, yang tidak menghapus versi sebelumnya, dan hanya menginstal versi yang diinginkan di/root/.nvm/versions/...
direktori. Jadisudo node
masih menunjuk ke versi sebelumnya, sementaranode
menunjuk ke versi yang lebih baru.sumber
Saya mendapat kesalahan yang sama tetapi saya mencoba menjalankan aplikasi simpul menggunakan wadah Docker.
Saya memperbaikinya dengan menambahkan file .dockerignore untuk mengabaikan direktori node_modules untuk memastikan bahwa ketika gambar buruh pelabuhan membangun, itu membangun paket asli untuk gambar yang saya inginkan (Alpine) alih-alih menyalin node_modules yang dikompilasi untuk host saya (Debian) .
sumber
node_modules/
danpackage-lock.json
Ternyata masalah saya adalah kesalahan pengguna: pastikan versi node yang Anda gunakan untuk menjalankan adalah sama dengan yang Anda gunakan saat menjalankan npm install atau yarn.
Saya menggunakan NVM untuk versi node dan menjalankan benang melalui terminal, tetapi IDE saya diatur untuk menggunakan versi yang lebih lama dari node ketika menjalankan dan itu melempar kesalahan di atas. Mencocokkan versi node IDE saya dalam menjalankan config ke node --versi memperbaiki masalah.
sumber
Saya punya masalah serupa dengan robotjs. Ada beberapa kode usang yang membutuhkan simpul v11, tapi saya sudah mengkompilasi kode elektron pada v12. Jadi pada dasarnya saya mendapatkan kesalahan yang sama. Tidak ada yang bekerja di sini karena saya pada dasarnya mencoba untuk membangun kembali elektron dan dependensi saya yang lain ke dalam simpul v11 dari v12.
Inilah yang saya lakukan (bagian dari ini didasarkan pada jawaban chitzui, kredit di mana kredit jatuh tempo):
npm init
untuk menginstal kembali paket, kemudian data yang hilang dengan package.json yang dicadangkan lamanpm i
Semoga ini membantu.
sumber
Untuk modul Electron, instal pembangunan kembali elektron.
Tentukan versi yang sama yang telah Anda instal di direktori saat ini
Anda mungkin memiliki pengalaman ini di mana membangun simpul-gyp standar akan melaporkan sebagai 64, maka elektron-membangun kembali dasar akan melaporkan 76, tidak sampai Anda menambahkan -v dengan versi tepat itu menabrak versi aktual 80 (untuk 9.0.0-beta. 6)
sumber
Saya menghapus folder node_modules dan menjalankan
npm install
dan aplikasi saya mulai tanpa kesalahan.sumber
Saya mendapatkan kesalahan ini ketika menjalankan aplikasi saya dengan systemd:
Tapi saya menggunakan versi yang berbeda untuk
npm install
di shell:Jika ini adalah pengaturan Anda, Anda bisa membuat hardcode versi node dalam file layanan atau mengikuti solusi seperti ini .
sumber
Setelah mencoba berbagai hal. Ini berhasil.
Hapus folder modul simpul Anda dan jalankan
sumber
Saya menghadapi masalah yang sama dengan modul grpc dan dalam kasus saya, saya menggunakan elektron dan telah menetapkan versi elektron yang salah dalam variabel env "export npm_config_target = 1.2.3", mengaturnya ke versi elektron yang saya gunakan untuk menyelesaikan masalah pada akhir saya. Semoga ini bisa membantu seseorang yang menetapkan variabel env seperti yang diberikan di sini ( https://electronjs.org/docs/tutorial/using-native-node-modules#the-npm-way )
sumber
Anda dapat menghapus bcrypt sepenuhnya dan menginstal bcryptjs. ~ 30% lebih lambat, tetapi tidak memiliki dependensi, jadi tidak ada rasa sakit menginstalnya.
Kami telah menginstalnya dengan sukses untuk aplikasi kami. Kami memiliki masalah dengan bcrypt yang tidak dikompilasi pada instance AWS untuk Node v8.x
sumber
Secara potensial, ketidakkonsistenan dari simpul JS versi adalah yang menyebabkan masalah. Sebagaimana dinyatakan dalam dokumentasi . Pastikan untuk menggunakan salah satu rilisnya. Misalnya tentukan ini di Dockerfile Anda:
sumber
Periksa versi Node yang Anda gunakan, mungkin ketidakcocokan antara apa yang diharapkan.
sumber
Saya memiliki masalah yang sama dan tidak ada solusi yang bekerja dan saya tidak tahu mengapa, mereka bekerja untuk saya di masa lalu untuk masalah yang sama.
Pokoknya untuk menyelesaikan masalah saya baru saja secara manual membangun kembali paket menggunakan node-pre-gyp
Dan semuanya berjalan seperti yang diharapkan.
Semoga ini membantu
sumber
Saya baru saja mendapatkan kesalahan ini menjalankan kadence script "kadence" diinstal memeriksa nodejs pertama dan hanya menjalankan node jika tidak ada nodejs. Saya memiliki versi terbaru dari simpul yang terhubung ke direktori ~ / bin saya tetapi nodejs menjalankan versi yang lebih lama yang saya lupa untuk hapus instalasinya tetapi tidak pernah menyebabkan masalah sampai sekarang.
Jadi orang dengan masalah ini mungkin memeriksa apakah simpul dan simpul benar-benar menjalankan versi simpul yang sama ...
sumber
Dalam kasus saya, saya berada di proksi kantor saya yang melewatkan beberapa paket. Ketika saya keluar dari proxy kantor saya dan mencoba melakukannya
npm install
berhasil. Mungkin ini membantu seseorang.Tetapi saya butuh beberapa jam untuk mengidentifikasi bahwa itulah alasannya.
sumber
Dalam kasus saya, saya
nodejs
malah berlarinode
. Karenanodejs
diinstal oleh manajer paket:sumber
jalankan
npm config set python python2.7
dan jalankannpm install
lagi pestanya dihidupkan.sumber
Anda hanya perlu menjalankan perintah di bawah ini:
dan akhirnya
jangan lupa
yarn add electron-rebuild
jika itu tidak ada dalam dependensi Anda.sumber
Saya telah mengenai kesalahan ini dua kali dalam aplikasi elektron dan ternyata masalahnya adalah bahwa beberapa modul perlu digunakan dari proses utama daripada proses render. Kesalahan terjadi menggunakan pdf2json dan juga node-canvas. Memindahkan kode yang memerlukan modul-modul itu dari index.htm (proses render) ke main.js (proses utama) memperbaiki kesalahan dan aplikasi dibangun kembali dan berjalan dengan sempurna. Ini tidak akan memperbaiki masalah dalam semua kasus tetapi ini adalah hal pertama yang memeriksa apakah Anda menulis aplikasi elektron dan mengalami kesalahan ini.
sumber
Inilah yang bekerja untuk saya. Saya menggunakan modul simpul looped-back dengan Electron Js dan menghadapi masalah ini. Setelah mencoba banyak hal berikut ini berhasil bagi saya.
Dalam file package.json Anda dalam skrip tambahkan baris berikut:
Dan kemudian jalankan perintah berikut
npm run rebuild
sumber