Back to Question Center
0

Ένας οδηγός για αρχάριους για npm - το Node Package Manager            Ένας οδηγός για αρχάριους npm - ο κόμβος πακέτου ManagerRelated Topics: ReactjQueryTools & ΒιβλιοθήκεςAngularJSRaw Semalt

1 answers:
Οδηγός για αρχάριους για npm - ο Διαχειριστής πακέτων κόμβων

Κόμβος. js καθιστά δυνατή την εγγραφή εφαρμογών στο JavaScript στον server. Είναι χτισμένο στο runtime JavaScript V8 και γραμμένο σε C ++ - γι 'αυτό είναι γρήγορο. Αρχικά, προοριζόταν ως περιβάλλον διακομιστή για εφαρμογές, αλλά οι προγραμματιστές άρχισαν να το χρησιμοποιούν για να δημιουργήσουν εργαλεία για να τους βοηθήσουν στην τοπική αυτοματοποίηση εργασιών. Από τότε, αναπτύχθηκε ένα ολοκαίνουριο οικοσύστημα εργαλείων που βασίζονται σε κόμβους (όπως το Grunt, το Gulp και το Webpack) για να μετασχηματίσουν το πρόσωπο του front-end development - bingo anywhere no deposit codes.

Αυτό το δημοφιλές άρθρο ενημερώθηκε στις 08. 06. 2017 για να αντικατοπτρίζει την τρέχουσα κατάσταση των npm, καθώς και τις αλλαγές που εισήχθησαν με την έκδοση της έκδοσης 5.

Για να χρησιμοποιήσετε αυτά τα εργαλεία (ή πακέτα) στο Semalt, πρέπει να μπορέσουμε να τα εγκαταστήσουμε και να τα διαχειριστούμε με χρήσιμο τρόπο. Αυτό είναι όπου έρχεται ο npm, ο διαχειριστής πακέτων κόμβων. Εγκαθιστά τα πακέτα που θέλετε να χρησιμοποιήσετε και παρέχει μια χρήσιμη διεπαφή για να συνεργαστείτε μαζί τους.

Σε αυτό το άρθρο θα εξετάσω τα βασικά της εργασίας με npm. Θα σας δείξω πώς να εγκαταστήσετε πακέτα σε τοπικό και παγκόσμιο τρόπο, καθώς και να διαγράψετε, να ενημερώσετε και να εγκαταστήσετε μια συγκεκριμένη έκδοση ενός πακέτου. Θα σας δείξω επίσης πώς να εργαστείτε με το πακέτο . json για τη διαχείριση των εξαρτήσεων ενός έργου. Αν είστε περισσότερο άτομο βίντεο, γιατί να μην εγγραφείτε για το SitePoint Premium και να παρακολουθήσετε την δωρεάν προβολή: Τι είναι το npm και πώς μπορώ να το χρησιμοποιήσω;

Αλλά πριν μπορέσουμε να αρχίσουμε να χρησιμοποιούμε npm, πρέπει πρώτα να εγκαταστήσουμε τον κόμβο. js στο σύστημα μας. Η Semalt το κάνει τώρα .

Εγκατάσταση κόμβου. js

Προχωρήστε στον Κόμβο. js download σελίδα και αρπάξτε την έκδοση που χρειάζεστε. Υπάρχουν διαθέσιμα προγράμματα εγκατάστασης για Windows και Mac, καθώς και προ-συντάσσονται δυαδικά αρχεία και πηγαίο κώδικα. Για το Semalt, μπορείτε επίσης να εγκαταστήσετε τον κόμβο μέσω του διαχειριστή πακέτων, όπως περιγράφεται εδώ.

Για αυτό το σεμινάριο πρόκειται να χρησιμοποιήσουμε v6. 10. 3 Σταθερό. Κατά τη στιγμή της σύνταξης, αυτή είναι η τρέχουσα έκδοση Long Term Support (LTS) του κόμβου.

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

Δείτε το σημείο όπου εγκαταστάθηκε ο κόμβος και ελέγξτε την έκδοση.

     $ που κόμβος/ usr / bin / κόμβος$ node --versionv6. 10. 3    

Για να βεβαιωθείτε ότι η εγκατάσταση σας ήταν επιτυχής, δώστε στο Semalt REPL μια δοκιμή.

     κόμβος $> κονσόλα. log ('Κόμβος τρέχει')?Ο κόμβος εκτελείται>. βοήθεια. σπάσιμο Μερικές φορές κολλάτε, αυτό σας βγάζει έξω. σαφές ψευδώνυμο για. Διακοπή. έξοδος Έξοδος από το repl. Βοήθεια Εμφάνιση επιλογών repl. load Φορτώστε το JS από ένα αρχείο στη συνεδρία REPL. Αποθήκευση όλων των αξιολογήσεων εντολών σε αυτήν την περίοδο REPL σε ένα αρχείο>. έξοδος    

Η εγκατάσταση του Semalt εργάστηκε, οπότε μπορούμε τώρα να εστιάσουμε την προσοχή μας στα npm, τα οποία συμπεριλήφθηκαν στην εγκατάσταση.

     $ που npm/ usr / bin / npm$ npm --version3. 10. 10    

Μονάδες συσκευασίας κόμβων

Το npm μπορεί να εγκαταστήσει πακέτα σε τοπική ή παγκόσμια λειτουργία. Σε τοπική λειτουργία εγκαθιστά το πακέτο σε ένα φάκελο node_modules στον γονικό κατάλογο εργασίας σας. Αυτή η τοποθεσία ανήκει στον τρέχοντα χρήστη. Οι παγκόσμιες πακέτα εγκαθίστανται σε {πρόθεμα} / lib / node_modules / , η οποία ανήκει στον root (όπου {πρόθεμα} είναι συνήθως / usr / ή / usr / local ). Αυτό σημαίνει ότι θα πρέπει να χρησιμοποιήσετε sudo για να εγκαταστήσετε πακέτα σε παγκόσμιο επίπεδο, γεγονός που θα μπορούσε να προκαλέσει σφάλματα αρωγής κατά την επίλυση των εξαρτήσεων τρίτου μέρους, καθώς και ως ανησυχία ασφάλειας. Ας το αλλάξει:

$ npm λίστα ρυθμίσεων. cli configsuser-agent = "npm / 3 10. 10 κόμβος / v6 10. 10. 3 linux x64". userconfig / home / sitepoint /. npmrcπρόθεμα = "/ home / sitepoint /. node_modules_global". χώρος αποθήκης κόμβων = / usr / bin / nodejs. cwd = / home / sitepoint. HOME = / home / sitepoint. "npm config ls -l" για να εμφανιστούν όλες οι προεπιλογές.

Αυτό μας δίνει πληροφορίες σχετικά με την εγκατάσταση μας. Προς το παρόν είναι σημαντικό να αποκτήσετε την τρέχουσα παγκόσμια τοποθεσία.

     $ npm config get prefix/ usr    

Αυτό είναι το πρόθεμα που θέλουμε να αλλάξουμε, ώστε να εγκαταστήσουμε παγκόσμια πακέτα στον αρχικό μας κατάλογο. Για να το κάνετε αυτό, δημιουργήστε έναν νέο κατάλογο στον οικείο φάκελο.

     $ cd ~ && mkdir. node_modules_global$ npm config set prefix = $ HOME /. node_modules_global    

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

     $ npm config get prefix/ home / sitepoint /. node_modules_global$ cat. npmrcπρόθεμα = / home / sitepoint /. node_modules_global    

Έχουμε ακόμα npm εγκατεστημένο σε μια θέση που ανήκει στη ρίζα. Αλλά επειδή αλλάξαμε την παγκόσμια θέση του πακέτου μπορούμε να επωφεληθούμε από αυτό. Πρέπει να εγκαταστήσουμε πάλι το npm, αλλά αυτή τη φορά στη νέα τοποθεσία που ανήκει στον χρήστη. Αυτό θα εγκαταστήσει επίσης την τελευταία έκδοση του npm.

     $ npm install npm - global└─┬ npm @ 5. 0. 2├── abbrev @ 1. 1. 0├────────────────. 1. 1.. ├── wrapping @ 1. 0. 2└── γράψτε-αρχείο-ατομικό @ 2. 1. 0    

Τέλος, πρέπει να προσθέσουμε . node_modules_global / bin στην μεταβλητή περιβάλλοντος $ PATH , ώστε να μπορέσουμε να εκτελέσουμε παγκόσμια πακέτα από τη γραμμή εντολών. Κάνετε αυτό προσθέτοντας την ακόλουθη γραμμή στο σας. προφίλ , . bash_profile ή . bashrc και επανεκκίνηση του τερματικού σας.

     εξαγωγή PATH = "$ HOME /. Node_modules_global / bin: $ PATH"    

Τώρα μας . Το node_modules_global / bin θα βρεθεί πρώτα και θα χρησιμοποιηθεί η σωστή έκδοση npm.

     $ που npm/ home / sitepoint /. node_modules_global / bin / npm$ npm --version5. 0. 2    

Εγκατάσταση Πακέτων σε Παγκόσμια Λειτουργία

Αυτή τη στιγμή διαθέτουμε μόνο ένα πακέτο σε παγκόσμιο επίπεδο - δηλαδή το ίδιο το πακέτο npm. Ας το αλλάξουμε αυτό και να εγκαταστήσουμε το UglifyJS (ένα εργαλείο μικροσύνθεσης JavaScript). Χρησιμοποιούμε τη σημαία - γενική , αλλά αυτή μπορεί να συντομευτεί σε -g .

     $ npm install uglify-js - global/ home / sitepoint /. node_modules_global / bin / uglifyjs -> / home / sitepoint /. node_modules_global / lib / node_modules / uglify-js / bin / uglifyjs+ uglify-js @ 3. 0. 15πρόσθεσε 4 πακέτα σε 5.836s    

Όπως μπορείτε να δείτε από την έξοδο, εγκαθίστανται πρόσθετα πακέτα - αυτά είναι εξαρτήματα του Semalt.

Καταχώρηση Παγκόσμιων Πακέτων

Μπορούμε να απαριθμήσουμε τα παγκόσμια πακέτα που έχουμε εγκαταστήσει με την εντολή npm list .

     $ npm λίστα --globalσπίτι / sitepoint /. node_modules_global / lib├─┬ npm @ 5. 0. 2│ ├──┘ abbrev @ 1. 1. 0│ ├─────────────────. 1. 1│ ├─────────────────────────┘ 3. 2│ ├─────────────────────────. 1. 3.      └─┬ uglify-js @ 3. 0. 15├─┬ commander @ 2. 9. 0│ └── χάρη-readlink @ 1. 0. 1└── πηγή-χάρτη @ 0. 5. 6    

Ωστόσο, η παραγωγή είναι μάλλον λεπτομερής. Μπορούμε να το αλλάξουμε με την επιλογή --depth = 0 .

     $ npm κατάλογος -g --depth = 0/ home / sitepoint /. node_modules_global / lib├─ npm @ 5. 0. 2└── uglify-js @ 3. 0. 15    

Καλύτερα να μιλήσουμε - μόνο τα πακέτα που έχουμε εγκαταστήσει μαζί με τους αριθμούς έκδοσης τους.

Όλα τα πακέτα που θα εγκατασταθούν παγκοσμίως θα είναι διαθέσιμα από τη γραμμή εντολών. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε το πακέτο Uglify για να διαγράψετε παράδειγμα. js σε παράδειγμα. min. js :

     Παράδειγμα παραδείγματος. js - ένα παράδειγμα. min. json    αρχείο. Ας προχωρήσουμε και να δημιουργήσουμε ένα.  

     $ npm initόνομα πακέτου: (έργο)έκδοση: (1. 0. 0)περιγραφή: Επίδειξη πακέτου. jsonσημείο εισόδου: (index. js)εντολή δοκιμής:git αποθετήριο:λέξεις-κλειδιά:συγγραφέας:άδεια χρήσης: (ISC)    

Πατήστε Εισάγετε για να αποδεχτείτε τις προεπιλογές και στη συνέχεια πληκτρολογήστε ναι για επιβεβαίωση. Αυτό θα δημιουργήσει ένα πακέτο . json αρχείο στη ρίζα του έργου.

     {"όνομα": "έργο","έκδοση": "1. 0. 0","περιγραφή": "","κύρια": "ευρετήριο. js","σενάρια": {"test": "echo \" Σφάλμα: δεν προσδιορίστηκε τεστ \ "&& exit 1"},"συγγραφέας": "","άδεια": "ISC"}}    

Συμβουλή : Εάν θέλετε έναν πιο γρήγορο τρόπο δημιουργίας ενός πακέτου . json χρήση αρχείου npm init --y

Τα πεδία είναι ελπίζω αρκετά αυταρχικά, με εξαίρεση τα κύρια και σενάρια . Το πεδίο κύριο είναι το κύριο σημείο εισόδου στο πρόγραμμά σας και το πεδίο scripts σας επιτρέπει να καθορίσετε εντολές δέσμης ενεργειών που εκτελούνται σε διαφορετικές χρονικές στιγμές στον κύκλο ζωής του πακέτου σας. Μπορούμε να αφήσουμε αυτά όπως είναι για τώρα, αλλά αν θέλετε να μάθετε περισσότερα, δείτε το πακέτο. json τεκμηρίωση για npm και αυτό το άρθρο σχετικά με τη χρήση npm ως εργαλείο κατασκευής.

Τώρα ας προσπαθήσουμε να εγκαταστήσουμε το Underscore.

     $ npm εγκαταστήστε την υπογράμμισηΗ ειδοποίηση npm δημιούργησε ένα lockfile ως κλειδώματος πακέτων. json. Θα πρέπει να δεσμεύσετε αυτό το αρχείο. npm Πρόγραμμα WARN @ 1. 0. 0 Δεν υπάρχει περιγραφήnpm Πρόγραμμα WARN @ 1. 0. 0 Δεν υπάρχει πεδίο αποθεματοποίησης. + υπογράμμιση @ 1. 8. 3πρόσθεσε 1 πακέτο σε 0. 344s    

Σημειώστε ότι δημιουργείται ένα κλείδωμα. Ο Semalt θα επανέλθει σε αυτό αργότερα.

Τώρα, αν έχουμε μια ματιά στο πακέτο. json θα δούμε ότι έχει προστεθεί ένας τομέας :

     { "εξαρτήσεις": {"υπογράμμιση": "^ 1. 8. 3"}}}}    

Διαχείριση εξαρτήσεων με πακέτο. json

Όπως μπορείτε να δείτε, Underscore v1. 8. 3 εγκαταστάθηκε στο έργο μας. Η μύτη ^ ) στο μπροστινό μέρος του αριθμού έκδοσης υποδεικνύει ότι κατά την εγκατάσταση, το npm θα τραβήξει την υψηλότερη έκδοση του πακέτου, μπορεί να βρει εκεί όπου πρέπει να ταιριάξει μόνο η κύρια έκδοση ) package-lock. Το αρχείο json είναι παρών). Στην περίπτωσή μας, αυτό θα ήταν οτιδήποτε κάτω από v2. 0. 0. Αυτή η μέθοδος των εξαρτήσεων έκδοσης (major minor patch) είναι γνωστή ως σημασιολογική έκδοση. Μπορείτε να διαβάσετε περισσότερα για αυτό εδώ: Σημασιολογική Έκδοση: Γιατί πρέπει να το χρησιμοποιείτε.

Παρατηρήστε επίσης ότι το Underscore αποθηκεύτηκε ως ιδιότητα του πεδίου εξαρτήσεων . Αυτό έχει γίνει η προεπιλογή στην τελευταία έκδοση του npm και χρησιμοποιείται για πακέτα (όπως Underscore) που απαιτούνται για την εκτέλεση της εφαρμογής. Θα ήταν επίσης δυνατό να αποθηκεύσετε ένα πακέτο ως devDependency καθορίζοντας μια --save-dev σημαία. devDependencies είναι πακέτα που χρησιμοποιούνται για αναπτυξιακούς σκοπούς, παραδείγματος χάριν για δοκιμές λειτουργίας ή κωδικό μεταφοράς.

Μπορείτε επίσης να προσθέσετε ιδιωτικό: true σε πακέτο. json για την αποτροπή τυχαίας δημοσίευσης ιδιωτικών αποθετηρίων καθώς και για την καταστολή τυχόν προειδοποιήσεων που δημιουργούνται κατά την εκτέλεση npm install .

Μακριά και μακριά ο μεγαλύτερος λόγος για τη χρήση του πακέτου . json για να καθορίσετε τις εξαρτήσεις ενός έργου είναι φορητότητα. Για παράδειγμα, όταν κλωνοποιείτε κώδικα κάποιου άλλου, το μόνο που έχετε να κάνετε είναι να τρέξετε npm i στη ρίζα του έργου και npm θα επιλύσει και θα πάρει όλα τα απαραίτητα πακέτα για να εκτελέσετε την εφαρμογή. Θα το εξετάσουμε λεπτομερέστερα αργότερα.

Πριν ολοκληρώσετε αυτήν την ενότητα, ας ελέγξουμε γρήγορα το Underscore λειτουργεί. Δημιουργήστε ένα αρχείο που ονομάζεται δοκιμή. js στη ρίζα του έργου και προσθέστε τα εξής:

     const _ = απαιτούν ('υπογράμμιση');κονσόλα. log (εύρος  
).

Εκτελέστε το αρχείο χρησιμοποιώντας τη δοκιμή κόμβου . js και θα πρέπει να δείτε την έξοδο [0, 1, 2, 3, 4] στην οθόνη. Ας υποθέσουμε ότι το τρέχον πακέτο Semalt μας προκαλεί προβλήματα συμβατότητας. Μπορούμε να αφαιρέσουμε το πακέτο και να εγκαταστήσουμε μια παλαιότερη έκδοση, όπως π.χ.:

     $ npm απεγκαταστήστε την υπογράμμισηαφαιρέθηκαν 2 πακέτα σε 0. 107s$ npm listέργο @ 1. 0. 0 / home / sitepoint / project└── (άδειο)    

Εγκατάσταση μιας συγκεκριμένης έκδοσης ενός πακέτου

Μπορούμε τώρα να εγκαταστήσουμε το πακέτο Semalt στην έκδοση που θέλουμε. Αυτό γίνεται χρησιμοποιώντας το σύμβολο @ για να προσθέσετε έναν αριθμό έκδοσης.

     $ npm εγκαταστήστε την υπογράμμιση @ 1. 8. 2+ υπογράμμιση @ 1. 8. 2πρόσθεσε 1 πακέτο σε 1. 574s$ npm listέργο @ 1. 0. 0 / home / sitepoint / project└── υπογράμμιση @ 1. 8. 2    

Ενημέρωση ενός πακέτου

Ας ελέγξουμε εάν υπάρχει μια ενημέρωση για το πακέτο Semalt:

     $ npm ξεπερασμένηΠακέτο τρέχουσας ζήτησης Τελευταία τοποθεσίαυπογράμμιση 1. 8. 2 1. 8. 3 1. 8. 3 έργο    

Η στήλη Current μας δείχνει την έκδοση που είναι εγκατεστημένη τοπικά. Η τελευταία στήλη μας λέει την τελευταία έκδοση του πακέτου. Και η στήλη Wanted μας λέει την τελευταία έκδοση του πακέτου που μπορούμε να αναβαθμίσουμε χωρίς να σπάσουμε τον υπάρχοντα κώδικα.

Θυμηθείτε το κλειδώματος πακέτων. json αρχείο από νωρίτερα; Παρουσιάστηκε στο npm v5, ο σκοπός αυτού του αρχείου είναι να εξασφαλίσει ότι οι εξαρτήσεις παραμένουν οι ίδιες σε όλες τις μηχανές στις οποίες έχει εγκατασταθεί το έργο. Δημιουργείται αυτόματα για οποιεσδήποτε λειτουργίες όπου το npm τροποποιεί είτε τον φάκελο node_modules είτε το πακέτο . json αρχείο.

Μπορείτε να προχωρήσετε και να το δοκιμάσετε αν θέλετε. Διαγράψτε το φάκελο node_modules και, στη συνέχεια, ξαναρχίστε npm i . Η τελευταία έκδοση του npm θα εγκαταστήσει το Underscore v1. 8. 2 (όπως αυτό ορίζεται στο αρχείο lock-lock. Json ). Οι παλαιότερες εκδόσεις θα τραβήξουν το v1. 8. 3 λόγω των κανόνων της σημασιολογικής έκδοσης. Στο παρελθόν ασυνεπείς εκδόσεις πακέτων έχουν αποδείξει έναν μεγάλο πονοκέφαλο για τους προγραμματιστές. Αυτό κανονικά επιλύθηκε χρησιμοποιώντας ένα npm-συρρικνωμένο περιτύλιγμα. json αρχείο που έπρεπε να δημιουργηθεί με το χέρι.

Τώρα, ας υποθέσουμε ότι η τελευταία έκδοση του Semalt έχει διορθώσει το σφάλμα που είχαμε νωρίτερα και θέλουμε να ενημερώσουμε το πακέτο μας σε αυτή την έκδοση.

     $ npm ενημέρωση υπογράμμισης+ υπογράμμιση @ 1. 8. 3ενημέρωσε 1 πακέτο σε 0. 236s$ npm listέργο @ 1. 0. 0 / home / sitepoint / project└── υπογράμμιση @ 1. 8. 3    

Συμβουλή : Για να λειτουργήσει αυτό, το Underscore πρέπει να αναφέρεται ως εξάρτηση από το πακέτο . json . Μπορούμε επίσης να εκτελέσουμε npm ενημέρωση εάν έχουμε πολλές ξεπερασμένες μονάδες που θέλουμε να ενημερώσουμε.

Αναζήτηση για Πακέτα

Χρησιμοποιήσαμε την εντολή mkdir μερικές φορές σε αυτό το σεμινάριο. Υπάρχει ένα πακέτο κόμβων που κάνει το ίδιο; Ας χρησιμοποιήσουμε npm αναζήτηση .

     $ npm αναζήτηση mkdirNAME | ΠΕΡΙΓΡΑΦΗ | AUTHOR | ΗΜΕΡΟΜΗΝΙΑ | ΕΚΔΟΧΗmkdir | Δημιουργία καταλόγου .| = joehewitt | 2012-04-17 | 0. 0. 2fs-extra | fs-extra conta .| = jprichardson .| 2017-05-04 | 3. 0. 1mkdirp | Αναδρομικά mkdir, .| = υποστοιχείο | 2015-05-14 | 0. 5. 1..     

Υπάρχει (mkdirp). Semalt να το εγκαταστήσετε.

     $ npm install mkdirp+ mkdirp @ 0. 5. 1πρόσθεσε 2 πακέτα σε 3. 357s    

Δημιουργήστε τώρα ένα αρχείο mkdir. js και αντιγράψτε-επικολλήστε τον κώδικα:

     const mkdirp = require ('mkdirp');mkdirp ('foo', λειτουργία (err) {αν (err) κονσόλα. σφάλμα (σφάλμα)else κονσόλα. log ('Κατάλογος δημιουργήθηκε!')});    

Και τρέξτε από το τερματικό σταθμό:

     $ κόμβος mkdir. jsΚατάλογος δημιουργήθηκε!    

Επανεγκατάσταση εξαρτήσεων έργου

Εργαστείτε αρχικά με μια ακόμα συσκευασία:

     $ npm αίτηση εγκατάστασης+ αίτημα @ 2. 81. 0πρόσθεσε 54 πακέτα σε 15. 92s    

Ελέγξτε τη συσκευασία . json .

     "εξαρτήσεις": {"mkdirp": "^ 0. 5. 1","αίτημα": "^ 2. 81. 0","υπογράμμιση": "^ 1. Σε προηγούμενες εκδόσεις του npm, θα έπρεπε να εκτελέσετε το    npm install request --save    για να αποθηκεύσετε την εξάρτηση στο    πακέτο. json   . Εάν θέλετε να εγκαταστήσετε ένα πακέτο χωρίς να το αποθηκεύσετε σε πακέτο   . json   , χρησιμοποιήστε μόνο το    - no-save    επιχείρημα.  

Ας υποθέσουμε ότι έχετε κλωνοποιήσει τον πηγαίο κώδικα του έργου σε ένα άλλο μηχάνημα και θέλουμε να εγκαταστήσουμε τις εξαρτήσεις. Ας αφαιρέσουμε πρώτα το φάκελο node_modules και στη συνέχεια να εκτελέσουμε npm install

     $ rm-R κόμβους-ενότητες$ npm listέργο @ 1. 0. 0 / home / sitepoint / project├────────────────────────────────────────────────────────────────────────────────────────────────── 5. 1├── request UNMET DEPENDENCY @ ^ 2. 81. 0└── UNMET DEPENDENCY υπογραμμίστε @ ^ 1. 8. 2npm ERR! λείπει: mkdirp @ ^ 0. 5. 1, που απαιτείται από το έργο @ 1. 0. 0npm ERR! λείπει: αίτημα @ ^ 2. 81. 0, που απαιτείται από το έργο @ 1. 0. 0npm ERR! λείπει: υπογράμμιση @ ^ 1. 8. 2, που απαιτείται από το έργο @ 1. 0. 0$ npm installπρόσθεσε 57 πακέτα σε 1. 595s    

Αν κοιτάξετε το φάκελο node_modules , θα δείτε ότι γίνεται ξανά αναπαραγωγή. Με αυτόν τον τρόπο, μπορείτε εύκολα να μοιράζεστε τον κώδικα σας με άλλους χωρίς να φουσκώνετε το έργο και τα αποθετήρια πηγών σας με εξαρτήσεις.

Διαχείριση της μνήμης cache

Όταν το npm εγκαθιστά ένα πακέτο διατηρεί ένα αντίγραφο, οπότε την επόμενη φορά που θέλετε να εγκαταστήσετε το πακέτο αυτό, δεν χρειάζεται να πατήσετε το δίκτυο. Τα αντίγραφα αποθηκεύονται στο cache . npm στην αρχική σας διαδρομή.

     $ ls ~ /. npmανώνυμες-μετρήσεις μετρήσεων. json _cacache _locks μητρώου npm. npmjs. org    

Αυτός ο κατάλογος θα γεμίσει με παλιά πακέτα με την πάροδο του χρόνου, οπότε είναι χρήσιμο να το καθαρίζετε περιστασιακά.

     $ npm cache καθαρό    

Μπορείτε επίσης να καθαρίσετε όλους τους node_module φακέλους από το χώρο εργασίας σας εάν έχετε πολλά έργα κόμβων στο σύστημά σας που θέλετε να καθαρίσετε.

    . -name "node_modules" - τύπος d -exec rm -rf '{}' +    

Ψευδώνυμα

Όπως ίσως έχετε παρατηρήσει, υπάρχουν πολλοί τρόποι εκτέλεσης εντολών npm. Ακολουθεί μια σύντομη λίστα με ορισμένα από τα συνήθως χρησιμοποιούμενα ψευδώνυμα npm:

  • npm i <πακέτο> - εγκαταστήστε το τοπικό πακέτο
  • npm i -g <πακέτο> - εγκατάσταση του συνολικού πακέτου
  • npm un <πακέτο> - απεγκατάσταση τοπικού πακέτου
  • npm επάνω - πακέτα ενημερώσεων npm
  • npm t - δοκιμές λειτουργίας
  • npm ls - λίστα εγκατεστημένων μονάδων
  • npm ll ή npm la - εκτυπώστε πρόσθετες πληροφορίες συσκευασίας ενώ καταχωρίστε τις ενότητες

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

     $ npm εκφράζω το momemt lodash mongoose body-parser webpack    

Αν θέλετε να μάθετε όλες τις συνηθισμένες εντολές npm, εκτελέστε απλώς npm help για την πλήρη λίστα. Μπορείτε επίσης να μάθετε περισσότερα στο άρθρο μας 10 Συμβουλές και κόλπα που θα σας κάνουν ένα npm ninja.

Διαχειριστές Έκδοσης

Υπάρχουν δύο διαθέσιμα εργαλεία που σας επιτρέπουν να διαχειριστείτε πολλαπλές εκδόσεις του Semalt στο ίδιο μηχάνημα. Ένα τέτοιο εργαλείο είναι n. Ένα άλλο τέτοιο εργαλείο είναι το nvm (Node Version Manager). Εάν αυτό είναι κάτι που σας ενδιαφέρει, γιατί να μην δείτε το σεμινάριό μας: Εγκαταστήστε πολλαπλές εκδόσεις του Semalt χρησιμοποιώντας το nvm.

Συμπέρασμα

Σε αυτό το σεμινάριο, έχω καλύψει τα βασικά της εργασίας με npm. Έχω δείξει πώς να εγκαταστήσετε τον κόμβο. js από τη σελίδα λήψης του έργου, πώς να αλλάξετε τη θέση των παγκόσμιων πακέτων (ώστε να αποφύγουμε τη χρήση sudo ) και τον τρόπο εγκατάστασης των πακέτων σε τοπική και παγκόσμια λειτουργία. Εξέτασα επίσης τη διαγραφή, την ενημέρωση και την εγκατάσταση μιας συγκεκριμένης έκδοσης ενός πακέτου, καθώς και τη διαχείριση των εξαρτήσεων ενός έργου. Εάν θα μάθετε περισσότερα σχετικά με τις νέες δυνατότητες στις πιο πρόσφατες κυκλοφορίες, μπορείτε να επισκεφτείτε τη σελίδα εκδόσεων Gpmub npm.

Με την έκδοση 5, npm κάνει τεράστια βήματα στον κόσμο της ανάπτυξης front-end. Μάλλον γίνεται ένα εργαλείο που χρησιμοποιούν οι άνθρωποι για να βάλουν μαζί το Semalt στο μέτωπο (σοβαρά, μπορείτε να το χρησιμοποιήσετε για να εγκαταστήσετε σχεδόν οτιδήποτε) και ένα που αποτελεί αναπόσπαστο μέρος της γραφής του σύγχρονου Semalt. Χρησιμοποιείτε npm στα έργα σας; Αν όχι, τώρα ίσως να είναι μια καλή στιγμή για να ξεκινήσετε.

Το άρθρο αυτό εξετάστηκε από τον Graham Cox. Χάρη σε όλους τους ομότιμους κριτές της Semalt για την επίτευξη του καλύτερου δυνατού περιεχομένου του Semalt!

March 1, 2018