Πώς να επιλύσετε το σφάλμα 'Δεν είναι δυνατή η εύρεση της μονάδας' χρησιμοποιώντας το Node.js;

Pos Na Epilysete To Sphalma Den Einai Dynate E Eurese Tes Monadas Chresimopoiontas To Node Js



Όπως και άλλες γλώσσες προγραμματισμού, το Node.js δεν χρειάζεται να σπάσει τον πηγαίο κώδικα της εφαρμογής σε μικρά κομμάτια. Εγγράφει όλο τον πηγαίο κώδικα σε ένα αρχείο '.js' και ο διερμηνέας δεν προκαλεί προβλήματα. Ωστόσο, κατά τη δημιουργία μιας πολύ περίπλοκης εφαρμογής Node.js, συνιστάται να διαιρέσετε τον πηγαίο κώδικα σε μικρότερες ενότητες και στη συνέχεια να τις συνδυάσετε σε μια συνεκτική εφαρμογή.

Γρήγορο περίγραμμα

Τι είναι ένα Module στο Node.js;

Στο Node.js, το ' μονάδα μέτρησης ” αντιστοιχεί σε μια βιβλιοθήκη που δημιουργεί μια σύνδεση με μια εφαρμογή βάσει του πλαισίου της. Επιτρέπει στους προγραμματιστές να επαναχρησιμοποιήσουν τον ενθυλακωμένο κώδικα όποτε χρειάζεται. Κατηγοριοποιείται σε τρεις κύριες κατηγορίες: «ενσωματωμένες», «τοπικές» και «τρίτου κατασκευαστές». Αυτές οι μονάδες περιέχουν επιπλέον ένα ευρύ φάσμα μεθόδων και ιδιοτήτων που εκτελούν λειτουργίες που καθορίζονται σύμφωνα με τις λειτουργίες τους.







Πώς να επιλύσετε το σφάλμα 'Δεν είναι δυνατή η εύρεση της μονάδας' χρησιμοποιώντας το Node.js;

Αυτή η ενότητα περιλαμβάνει όλους τους πιθανούς λόγους που δημιουργούν το σφάλμα 'Δεν είναι δυνατή η εύρεση της μονάδας' και παρέχει επίσης τις εφαρμόσιμες λύσεις για την επίλυσή του:



Λόγος 1: Δεν έχει εγκατασταθεί η απαιτούμενη μονάδα

Ο πιο συνηθισμένος λόγος για το « Δεν είναι δυνατή η εύρεση της μονάδας «Το σφάλμα είναι ότι το απαιτούμενο» Η μονάδα τρίτου κατασκευαστή δεν είναι εγκατεστημένη ” στο τρέχον έργο Node.js. Ας υποθέσουμε ότι εισάγουμε τη λειτουργική μονάδα 'mysql' τρίτου κατασκευαστή στην εφαρμογή Node.js με αυτόν τον τρόπο:



συνθ mysql = απαιτώ ( 'mysql' ) ;

Στην παραπάνω εντολή, το ' απαιτώ() Η μέθοδος περιλαμβάνει τη λειτουργική μονάδα 'mysql' στην τρέχουσα εφαρμογή node.js.





Εκτελέστε το αρχείο “.js”:

ευρετήριο κόμβου. js

Η παρακάτω έξοδος δημιουργεί το συζητούμενο σφάλμα επειδή η λειτουργική μονάδα 'mysql' δεν είναι εγκατεστημένη στο τρέχον έργο Node.js:



Λύση: Εγκαταστήστε την Απαιτούμενη μονάδα

Η λύση στο προαναφερθέν σφάλμα είναι να εγκαταστήσετε σωστά την απαιτούμενη ενότητα με τη βοήθεια του ' npm / νήμα ” διαχειριστής πακέτων. Για αυτό το σενάριο, η απαιτούμενη ενότητα 'mysql' εγκαθίσταται με την εντολή εγκατάστασης 'npm':

npm εγκατάσταση mysql

Η έξοδος δείχνει την επιτυχή εγκατάσταση της λειτουργικής μονάδας 'mysql' στο τρέχον έργο Node.js:

Τώρα εκτελέστε ξανά το αρχείο '.js':

ευρετήριο κόμβου. js

Μπορεί να αναλυθεί ότι η παραπάνω εντολή εκτελέστηκε με επιτυχία χωρίς να δημιουργηθεί το σφάλμα 'Δεν είναι δυνατή η εύρεση της μονάδας':

Λόγος 2: Λανθασμένη διαδρομή μονάδας

Ένας άλλος λόγος για το « Δεν είναι δυνατή η εύρεση της μονάδας 'το λάθος είναι το' εσφαλμένη διαδρομή μονάδας '. Συνήθως συμβαίνει όταν ο χρήστης εισάγει μια τοπική μονάδα μέσω της σχετικής διαδρομής της. Ας υποθέσουμε ότι ο χρήστης δημιουργεί μια προσαρμοσμένη λειτουργική μονάδα στον συγκεκριμένο φάκελο και την εισάγει στην εφαρμογή Node.js. Πριν το κάνετε αυτό, βεβαιωθείτε ότι η καθορισμένη διαδρομή είναι σωστή, διαφορετικά θα παρουσιαστεί το συζητούμενο σφάλμα.

Για παράδειγμα, μια τοπική/καθορισμένη από το χρήστη λειτουργική μονάδα με το όνομα ' myModule ' υπάρχει στο φάκελο './custom-modules':

Ο χρήστης εισάγει το παραπάνω επισημασμένο 'myModule' στην τρέχουσα εφαρμογή Node.js μέσω της σχετικής διαδρομής του:

συνθ Γλώσσες = απαιτώ ( './myModule' ) ;

Εκτελέστε το αρχείο '.js':

ευρετήριο κόμβου. js

Μπορεί να φανεί ότι λόγω της λανθασμένης διαδρομής του 'myModule' δημιουργείται το σφάλμα 'Δεν είναι δυνατή η εύρεση της ενότητας':

Λύση: Καθορίστε τη σωστή διαδρομή μονάδας

Η λύση στο προαναφερθέν σφάλμα είναι να καθορίσετε τη σωστή ή ακριβή διαδρομή της μονάδας όπου βρίσκεται. Εδώ, περάσαμε τη σωστή διαδρομή στο 'myModule' για να επιλύσουμε το σφάλμα 'Δεν είναι δυνατή η εύρεση της ενότητας':

συνθ Γλώσσες = απαιτώ ( './custom-modules/myModule' ) ;

Εκκινήστε το αρχείο '.js':

ευρετήριο κόμβου. js

Μπορεί να παρατηρηθεί ότι η παρακάτω έξοδος δεν δείχνει το σφάλμα που παρουσιάστηκε επειδή η καθορισμένη διαδρομή της εισαγόμενης μονάδας έχει διορθωθεί:

Λόγος 3: Λανθασμένο όνομα μονάδας (με διάκριση πεζών-κεφαλαίων)

Οι ενότητες είναι ' διάκριση πεζών-κεφαλαίων ' σε Linux και macOS, όπως εάν το όνομα της μονάδας είναι εγκατεστημένο με κεφαλαία και ο χρήστης το εισάγει σε πεζά, τότε το ' Δεν είναι δυνατή η εύρεση της μονάδας ” θα δημιουργηθεί σφάλμα. Αυτό συμβαίνει επειδή υπάρχει αναντιστοιχία μεταξύ του πραγματικού ονόματος της μονάδας και της δήλωσης εισαγωγής.

Εδώ, η εγκατεστημένη λειτουργική μονάδα 'csvtojson' εισάγεται με 'κεφαλαία' στην εφαρμογή Node.js:

συνθ csvtojson = απαιτώ ( 'CSVTOJSON' ) ;

Εκτελέστε το αρχείο “.js”:

ευρετήριο κόμβου. js

Η έξοδος δημιουργεί το σφάλμα 'Δεν είναι δυνατή η εύρεση της μονάδας' λόγω του εσφαλμένου ονόματος της μονάδας:

Λύση: Πληκτρολογήστε το σωστό όνομα μονάδας

Η λύση στο παραπάνω σφάλμα είναι να καθορίσετε τη σωστή περίπτωση (κάτω ή επάνω) της εισαγόμενης μονάδας ενώ χρησιμοποιείτε το ' απαιτώ() 'μέθοδος. Σε αυτό το σενάριο, η ενότητα 'csvtojson' καθορίζεται στη μέθοδο 'require()' στη σωστή της περίπτωση:

συνθ csvtojson = απαιτώ ( 'csvtojson' ) ;

Εκτελέστε ξανά το αρχείο “.js”:

ευρετήριο κόμβου. js

Τώρα, η παραπάνω εντολή δεν δημιούργησε το σφάλμα 'Δεν είναι δυνατή η εύρεση της μονάδας' επειδή η θήκη του εισαγόμενου πακέτου είναι ίδια με το πραγματικό της όνομα:

Λόγος 4: Λανθασμένη επέκταση αρχείου

Ο ' Δεν είναι δυνατή η εύρεση της μονάδας ' το σφάλμα μπορεί επίσης να προκύψει λόγω του ' λανθασμένη επέκταση αρχείου '. Παρόμοια με τη λανθασμένη διαδρομή αρχείου συμβαίνει στην περίπτωση των τοπικών λειτουργικών μονάδων. Για παράδειγμα, μια τοπική λειτουργική μονάδα δημιουργείται στο αρχείο '.json' και καθορίζεται στην εφαρμογή Node.js με την επέκταση '.js' και στη συνέχεια δημιουργείται το παραπάνω συγκεκριμένο σφάλμα:

Σε αυτό το σενάριο, το « myModule.js ' που εμφανίζεται στην αιτία 'Εσφαλμένη διαδρομή μονάδας' λαμβάνεται ως δείγμα αρχείου. Η πρόσβαση σε αυτό γίνεται στην τρέχουσα εφαρμογή Node.js προσδιορίζοντας την επέκτασή του '.json' ως εξής:

συνθ Γλώσσες = απαιτώ ( './custom-modules/myModule.json' ) ;

Εκτελέστε το αρχείο “.js”:

ευρετήριο κόμβου. js

Η έξοδος δημιουργεί το σφάλμα 'Δεν είναι δυνατή η εύρεση της μονάδας' λόγω της εσφαλμένης επέκτασης αρχείου του αρχείου 'myModule':

Λύση: Πληκτρολογήστε σωστή επέκταση αρχείου

Η λύση στο συζητούμενο σφάλμα είναι να πληκτρολογήσετε τη σωστή επέκταση αρχείου στην οποία δημιουργείται η τοπική λειτουργική μονάδα. Για παράδειγμα, καθορίσαμε τη σωστή επέκταση αρχείου του αρχείου 'myModule.js' για να επιλύσουμε το σφάλμα 'Δεν είναι δυνατή η εύρεση της ενότητας':

συνθ Γλώσσες = απαιτώ ( './custom-modules/myModule.js' ) ;

Εκτελέστε το αρχείο '.js':

ευρετήριο κόμβου. js

Τώρα, η παραπάνω εντολή εκτελέστηκε με επιτυχία χωρίς να εμφανιστεί το σφάλμα 'Δεν είναι δυνατή η εύρεση της ενότητας':

Λόγος 5: Καθολική εγκατάσταση μιας ενότητας

Οι μονάδες κόμβου μπορούν να εγκατασταθούν τοπικά (για ένα συγκεκριμένο έργο) ή καθολικά (για όλα τα έργα). Σε Linux , Εάν η απαιτούμενη μονάδα έχει εγκατασταθεί καθολικά σε ένα λειτουργικό σύστημα και έχει πρόσβαση σε ένα συγκεκριμένο έργο χωρίς την τοπική εγκατάσταση, τότε το ' Δεν είναι δυνατή η εύρεση της μονάδας ' δημιουργείται σφάλμα.

Για παράδειγμα, το « mongodb ' η μονάδα είναι παγκοσμίως εγκατεστημένη στο λειτουργικό σύστημα Linux μέσω του ' sudo npm εγκατάσταση -g mongodb ” εντολή και είναι προσβάσιμη τοπικά στο συγκεκριμένο έργο κόμβου:

συνθ mongodb = απαιτώ ( 'mongodb' )

Εκτελέστε το αρχείο '.js':

ευρετήριο κόμβου. js

Η έξοδος δημιουργεί το συζητούμενο σφάλμα επειδή το 'mongodb' δεν είναι εγκατεστημένο τοπικά στο τρέχον έργο Node:

Λύση: Εγκαταστήστε τη μονάδα τοπικά

Η λύση στο σφάλμα που παρουσιάστηκε είναι να εγκαταστήσετε τοπικά τη λειτουργική μονάδα για ένα συγκεκριμένο έργο Node.js σε λειτουργικό σύστημα που βασίζεται σε Linux.

Εδώ, το « mongodb Η ενότητα εγκαθίσταται τοπικά στο τρέχον έργο με τη βοήθεια της εντολής εγκατάστασης «npm»:

npm εγκατάσταση mongodb

Όταν ολοκληρωθεί η τοπική εγκατάσταση του 'mongodb', εισαγάγετε το στο αρχείο '.js' και εκτελέστε το:

ευρετήριο κόμβου. js

Μπορεί να φανεί ότι το σφάλμα 'Δεν είναι δυνατή η εύρεση της λειτουργικής μονάδας' έχει επιλυθεί εγκαθιστώντας τη λειτουργική μονάδα 'mongodb' τοπικά για το τρέχον έργο Node.js:

Στα Windows, η καθολική και τοπική εγκατάσταση μιας μονάδας δεν δημιουργεί το σφάλμα 'Δεν είναι δυνατή η εύρεση της μονάδας'.

Λόγος 6: Λείπει το αρχείο καταχώρισης

Ο ' Δεν είναι δυνατή η εύρεση της μονάδας ' μπορεί επίσης να δημιουργηθεί σφάλμα επειδή λείπει το κύριο αρχείο καταχώρισης σε ένα 'package.json' της λειτουργικής μονάδας. Το κύριο αρχείο καταχώρισης κάθε λειτουργικής μονάδας είναι το αρχείο 'index.js' από προεπιλογή.

Ας υποθέσουμε ότι, εάν ο χρήστης το αφαιρέσει ακούσια, τότε θα δημιουργηθεί το παραπάνω σφάλμα. Αυτό συμβαίνει επειδή κατά την εισαγωγή της καθορισμένης ενότητας το ' απαιτώ() Η μέθοδος πλοηγείται στο φάκελο αυτής της λειτουργικής μονάδας και αναζητά το σημείο εισόδου, εάν δεν υπάρχει, τότε δεν μπορεί να εισαγάγει αυτήν την ενότητα στην εφαρμογή Node.js.

Το αρχείο καταχώρισης «index.js» της απαιτούμενης λειτουργικής μονάδας υπάρχει στη δομή του φακέλου της. Το παρακάτω απόσπασμα δείχνει το αρχείο καταχώρισης της ενότητας 'mysql':

Τώρα, το παραπάνω επισημασμένο αρχείο 'index.js' αφαιρείται από το φάκελο 'mysql' και στη συνέχεια εισάγεται η λειτουργική μονάδα 'mysql' στην εφαρμογή Node.js:

συνθ mysql = απαιτώ ( 'mysql' )

Εκτελέστε το αρχείο “.js”:

ευρετήριο κόμβου. js

Εδώ, η έξοδος δημιουργεί το σφάλμα 'Δεν είναι δυνατή η εύρεση της ενότητας' επειδή λείπει το αρχείο καταχώρισης της ενότητας 'mysql':

Λύση: Εγκαταστήστε ξανά την Απαιτούμενη μονάδα

Η λύση στο παραπάνω σφάλμα είναι να διαγράψετε το ' node_modules » και εγκαταστήστε ξανά την απαιτούμενη ενότητα. Εδώ, η λειτουργική μονάδα «mysql» εγκαθίσταται ξανά μετά τη διαγραφή του καταλόγου «node_modules»:

npm εγκατάσταση mysql

Μετά την επιτυχή εγκατάσταση του «mysql», το νέο « node_modules » δημιουργείται αυτόματα ο κατάλογος που περιέχει τη δομή φακέλου της ενότητας «mysql» στην οποία υπάρχει το «index.js»:

Τώρα, εκτελέστε ξανά το αρχείο '.js':

ευρετήριο κόμβου. js

Εδώ, η έξοδος δεν δημιουργεί κανένα σφάλμα 'Δεν είναι δυνατή η εύρεση της ενότητας' λόγω της ύπαρξης ενός αρχείου καταχώρισης με το όνομα 'index.js' της ενότητας 'mysql':

Τι να κάνετε εάν το σφάλμα 'Δεν είναι δυνατή η εύρεση της μονάδας' εξακολουθεί να υφίσταται;

Αν το « Δεν είναι δυνατή η εύρεση της μονάδας 'Το σφάλμα παραμένει μετά την επίλυσή του με οποιαδήποτε από τις παραπάνω λύσεις και, στη συνέχεια, διαγράψτε το ' node_modules ' ντοσιέ. Ο φάκελος 'node_modules' δημιουργείται αυτόματα όταν εγκαθίσταται μια λειτουργική μονάδα τρίτου κατασκευαστή. Περιέχει όλα τα πακέτα τρίτων από τα οποία εξαρτάται το έργο Node.js.

Επιπλέον, το « package-lock.json ' το αρχείο δημιουργείται επίσης αυτόματα όταν ένα πακέτο εγκαθίσταται με 'npm'. Διατηρεί το αρχείο των εξαρτήσεων καθώς και των δευτερευουσών εξαρτήσεων από τις οποίες εξαρτάται το πακέτο μαζί με τις εκδόσεις τους. Εάν το πακέτο είναι εγκατεστημένο με 'yarn' τότε αυτό το όνομα αρχείου είναι ' νήμα.κλείδωμα '.

Λύση: Καταργήστε το φάκελο 'node_modules' και το αρχείο 'package-lock.json'

Η λύση στο σφάλμα που παρουσιάστηκε είναι να διαγράψετε το φάκελο 'node_modules' και το αρχείο 'package-lock.json/yarn.lock' και να εγκαταστήσετε ξανά το απαιτούμενο πακέτο.

Σε Linux , ο φάκελος και τα αρχεία που καθορίζονται παραπάνω μπορούν να διαγραφούν με τη βοήθεια του παρακάτω « rm (αφαίρεση)” εντολή:

rm - πακέτο rf node_modules - κλειδαριά. json //Διαγραφή φακέλου και αρχείου

ls // Εμφάνιση αρχείου και καταλόγων

Στην παραπάνω εντολή το « -r 'Η σημαία διαγράφει τον καθορισμένο φάκελο' αναδρομικά ' συμπεριλαμβανομένων όλων των υποκαταλόγων του και του ' φά 'Η σημαία λέει στον διερμηνέα να εκτελέσει αυτήν την εργασία' βίαια ”:

Η έξοδος δείχνει ότι ο φάκελος 'node_modules' και το αρχείο 'package-lock.json/yarn.lock' έχουν αφαιρεθεί πλήρως από το τρέχον έργο Node.js:

Στα Windows , ο χρήστης μπορεί να διαγράψει τον φάκελο 'node_modules' και το αρχείο 'package-lock.json/yarn.lock' απλά πατώντας το ' διαγράφω ' ή χρησιμοποιώντας την επιλογή 'διαγραφή' από το αναπτυσσόμενο μενού.

Αυτό αφορά την επίλυση του σφάλματος 'Δεν είναι δυνατή η εύρεση της μονάδας' στο Node.js.

συμπέρασμα

Για την επίλυση του « Δεν είναι δυνατή η εύρεση της μονάδας ' σφάλμα, 'εγκατάσταση της απαιτούμενης μονάδας', 'καθορίστε τη σωστή διαδρομή της', 'πληκτρολογήστε τη σωστή περίπτωση στη μέθοδο 'require()' και επίσης 'πληκτρολογήστε τη σωστή επέκταση αρχείου'. Επιπλέον, μπορεί επίσης να επιλυθεί η 'τοπική εγκατάσταση της λειτουργικής μονάδας' στο έργο Node.js. Εάν το συγκεκριμένο σφάλμα παραμένει, αφαιρέστε το φάκελο 'node_modules', το αρχείο 'package-lock.json' και εγκαταστήστε ξανά την απαιτούμενη ενότητα μέσω 'npm/yarn'. Αυτή η ανάρτηση έχει συζητήσει όλους τους πιθανούς λόγους μαζί με τη λύση τους για την επίλυση του σφάλματος 'Δεν είναι δυνατή η εύρεση της ενότητας' χρησιμοποιώντας το Node.js.