Cara Menyelesaikan 'nod' Enjin Tidak Serasi dengan Ralat Modul 'Ini'.

Cara Menyelesaikan Nod Enjin Tidak Serasi Dengan Ralat Modul Ini



Dalam Node.js, ' pakej ” mengandungi semua fail penting modul. Modul sepadan dengan perpustakaan yang membina sambungan dengan aplikasi berdasarkan konteksnya. Semua pakej Node.js tidak dipratakrifkan, kebanyakannya adalah luaran yang boleh dipasang dalam aplikasi Node.js melalui pengurus pakej 'npm/yarn'.

Pemasangan pakej luaran agak mudah namun kadangkala pengguna boleh menghadapi beberapa ralat semasa melaksanakan tugas ini. Di antara ralat ini, ralat 'nod' Enjin Tidak Serasi dengan Modul 'Ini' adalah salah satu ralat yang boleh diselesaikan dengan mengikuti teknik yang berbeza.

Rangka Pantas







Apabila 'nod' Enjin Tidak Serasi dengan Ralat Modul 'Ini' Berlaku?

'Nod' tidak serasi dengan ralat Modul 'Ini' berlaku disebabkan oleh sebab berikut:



Sebab 1: Pakej yang Diperlukan Tidak Serasi

Sebab paling biasa 'nod' tidak serasi dengan ralat modul 'Ini' adalah disebabkan oleh ketidakserasian antara Node.js dan versi pakej yang diperlukan. Ia kebanyakannya dihadapi semasa menggunakan aplikasi Node.js ke AWS.



Sebab 2: Versi Nod Lama

Sebab lain ialah versi lama Node.js. Ia kebanyakannya dihadapi dalam sistem pengendalian Ubuntu apabila pengguna cuba mengemas kini versi Node.js beberapa kali dan juga mengemas kini repositori sistem bersama-sama dengannya. Atas sebab ini, ' apt Arahan ” akan memulakan versi Node.js yang lebih lama yang diambil daripada pakej Debian dan pengguna menghadapi ralat tertentu di atas.





Bagaimana untuk Menyelesaikan 'nod' Enjin Tidak Serasi dengan Ralat Modul 'Ini'?

Bahagian ini menyenaraikan semua kemungkinan penyelesaian yang boleh dilaksanakan untuk menyelesaikan 'nod' enjin tidak serasi dengan ralat modul 'Ini':

Penyelesaian 1: Abaikan Pemeriksaan Enjin Menggunakan 'npm' dan 'benang'

Penyelesaian pertama ialah ' mengabaikan pemeriksaan enjin ” semasa memasang pakej yang ditentukan menggunakan “ npm ” atau “ benang ” pengurus pakej. untuk ' npm 'ia boleh dilakukan menggunakan' –paksa 'bendera dan untuk' benang 'tugas ini boleh dilakukan menggunakan ' –abaikan-enjin ' bendera.



Langkah pertama pada ' npm ” pengurus pakej.

Sintaks(Untuk NPM)

pemasangan npm -- memaksa < pakej nama >

Menurut sintaks di atas, ' –paksa ” flag menambah pakej yang ditentukan ke dalam aplikasi Node.js secara paksa

Sekarang gunakan sintaks di atas untuk memasang pakej tertentu ke dalam versi Node.js semasa:

pemasangan npm -- skrip taip paksa

Dalam arahan di atas, pakej 'typescript' dipasang tanpa menghiraukan keserasian versi Node semasa.

Output di bawah menunjukkan bahawa ' skrip taip ” pakej telah dipasang secara paksa dalam aplikasi Node.js semasa. Ia juga menunjukkan mesej amaran kerana cache. Laksanakan ' pengesahan cache npm ” perintah untuk mengesahkan sama ada cache berfungsi dengan betul atau tidak:

Sekarang abaikan pemeriksaan enjin menggunakan ' benang ” pengurus pakej dengan bantuan arahan yang dinyatakan di bawah:

memasang benang -- abai - enjin

Perintah di atas mengabaikan pemeriksaan enjin dan mengesahkan bahawa ' benang ” tidak memasang kebergantungan pilihan. ' –abaikan-enjin bendera ” menjalankan perintah “pemasangan benang” dalam mod luar talian:

Perintah di atas mencipta ' benang.kunci ” fail dalam direktori utama projek Node.js.

' benang ” pengurus pakej memerlukan sintaks berikut untuk memasang pakej yang mengabaikan pemeriksaan enjin:

Sintaks (Untuk benang)

tambah benang < pakej nama > -- abai - enjin

Sekarang gunakan sintaks yang ditulis di atas untuk memasang ' skrip taip ” pakej secara global dalam sistem pengendalian:

benang taip tambah global -- abai - enjin

Output di bawah berjaya menambahkan projek skrip taip secara global dalam sistem pengendalian Windows semasa untuk semua projek Node.js:

Petua: Abaikan Pemeriksaan Enjin Untuk semua Perintah

Jika pengguna ingin mengabaikan pemeriksaan enjin untuk semua arahan kemudian jalankan arahan yang dinyatakan di bawah bersama dengan ' benar ” nilai boolean:

set konfigurasi benang abaikan - enjin benar

Perintah di atas memberitahu pengkompil yang mengabaikan medan enjin yang ditentukan dalam fail 'package.json':

' abaikan-enjin ” semakan telah ditetapkan kepada benar untuk semua arahan. Kini pengguna boleh memasang sebarang pakej khusus ke dalam Node.js tanpa menyatakan bendera “–ignore-engines”:

Penyelesaian 2: Lumpuhkan Medan Enjin Lalai Menggunakan Fail 'package-lock.json'.

Penyelesaian seterusnya ialah mengubah suai ' enjin medan 'daripada' package-lock.json ” fail. Untuk berbuat demikian, mula-mula, navigasi ke direktori utama projek Node.js dan buka fail 'package-lock.json'.

Sebaik sahaja fail yang disasarkan dibuka, pindah ke ' enjin ” dan kemas kini dengan cara ini:

Tekan “ Ctrl+S ” untuk menyimpan fail di atas. Pengubahsuaian membenarkan pengurus pakej 'npm' memasang versi pakej yang diperlukan yang sesuai untuk versi '>=14.17' Node.js.

Penyelesaian 3: Kemas Kini Nod kepada Versi Terkini

Penyelesaian lain ialah mengemas kini versi Node.js. Kemas kini Node.js pada semua sistem pengendalian adalah agak mudah dan boleh dilakukan dengan bantuan panduan yang dinyatakan di bawah:

  • Bagaimana untuk Mengemas kini Versi Nod pada Windows?
  • Bagaimana untuk Meningkatkan Versi Nod pada Ubuntu?
  • Bagaimana untuk Meningkatkan Node.js kepada Versi Terkini pada macOS?

Apa yang Perlu Dilakukan jika 'nod' Enjin Tidak Serasi dengan Ralat Modul 'Ini' Masih Berterusan?

Jika 'nod' enjin tidak serasi dengan ralat 'Modul ini' berterusan selepas menyelesaikannya dengan mana-mana penyelesaian di atas kemudian padamkan ' modul_nod ” folder. Folder 'node_modules' dijana secara automatik apabila modul pihak ketiga dipasang. Ia mengandungi semua pakej pihak ketiga yang bergantung kepada projek Node.js.

Selain itu, ' package-lock.json ” fail juga secara automatik menjana apabila pakej dipasang dengan “npm”. Ia menyimpan rekod kebergantungan serta sub-kebergantungan di mana pakej bergantung bersama-sama dengan versi mereka. Jika pakej dipasang dengan 'benang' maka nama fail ini ialah ' benang.kunci ”.

Penyelesaian: Alih keluar Folder 'node_modules' dan Fail 'package-lock.json'.

Penyelesaian kepada ralat yang dihadapi adalah untuk memadam folder 'node_modules', fail konfigurasi 'package-lock.json/yarn.lock' dan memasang pakej yang diperlukan sekali lagi.

Dalam Linux , folder atau fail yang dinyatakan di atas boleh dipadamkan dengan bantuan “ yang dinyatakan di bawah rm (alih keluar)” perintah:

rm - pakej rf node_modules - kunci. json //Padam Folder dan Fail

ls // Paparkan Fail dan Direktori

Dalam perintah di atas ' -r 'bendera memadam folder yang ditentukan' secara rekursif ” termasuk semua subdirektorinya dan “ f 'bendera memberitahu jurubahasa untuk melaksanakan tugas ini' secara paksa ”:

Output menunjukkan bahawa folder 'node_modules' dan fail 'package-lock.json/yarn.lock' telah dialih keluar sepenuhnya:

Dalam Windows , pengguna boleh memadamkan folder 'node_modules' dan fail 'package-lock.json/yarn.lock' hanya dengan menekan kekunci 'delete' atau menggunakan pilihan 'delete' daripada menu lungsur.

Itu sahaja tentang menyelesaikan ralat 'Tidak dapat mencari modul' dalam Node.js.

Kesimpulan

Untuk menyelesaikan enjin ' nod' tidak serasi dengan modul 'Ini'. ” ralat, abaikan pemeriksaan enjin mengikut pengurus pakej yang ditentukan. untuk ' npm 'ia boleh dilakukan menggunakan' –paksa 'bendera, dan untuk' benang 'ia boleh dilakukan melalui' –abaikan-enjin ” semak bendera. Selain itu, pengguna juga boleh menyelesaikan ralat dengan mengubah suai “ enjin ” medan “ package-lock.json ” fail atau menaik taraf versi Node. Siaran ini telah membincangkan semua kemungkinan sebab bersama-sama dengan penyelesaian mereka untuk menyelesaikan ralat 'Tidak dapat mencari modul' menggunakan Node.js.