Αντέγραψα το package.json από ένα άλλο έργο και τώρα θέλω να αναβαθμίσω όλες τις εξαρτήσεις στις πιο πρόσφατες εκδόσεις τους, καθώς αυτό είναι ένα νέο έργο και δεν με πειράζει να διορθώσω κάτι αν χαλάσει.
Ποιος είναι ο ευκολότερος τρόπος για να το κάνω αυτό;
Ο καλύτερος τρόπος που ξέρω τώρα είναι να τρέξω το npm info express version
και μετά να ενημερώσω το package.json χειροκίνητα για κάθε μία. Πρέπει να υπάρχει κάποιος καλύτερος τρόπος.
{
"name": "myproject",
"description": "my node project",
"version": "1.0.0",
"engines": {
"node": "0.8.4",
"npm": "1.1.65"
},
"private": true,
"dependencies": {
"express": "~3.0.3", // how do I get these bumped to latest?
"mongodb": "~1.2.5",
"underscore": "~1.4.2",
"rjs": "~2.9.0",
"jade": "~0.27.2",
"async": "~0.1.22"
}
}
ΕΝΗΜΈΡΩΣΗ 5/1/19: npm-check-updates ως μια ολοκληρωμένη λύση σε αυτό το πρόβλημα. Απολαύστε το!
Φαίνεται ότι το npm-check-updates είναι ο μόνος τρόπος για να γίνει αυτό τώρα.
npm i -g npm-check-updates
ncu -u
npm install
Στο npm <3.11:
Απλά αλλάξτε την έκδοση κάθε εξάρτησης σε *
, και στη συνέχεια εκτελέστε npm update --save
. (Σημείωση: σπασμένο στις πρόσφατες (3.11) εκδόσεις του npm).
Πριν:
"dependencies": {
"express": "*",
"mongodb": "*",
"underscore": "*",
"rjs": "*",
"jade": "*",
"async": "*"
}
Μετά:
"dependencies": {
"express": "~3.2.0",
"mongodb": "~1.2.14",
"underscore": "~1.4.4",
"rjs": "~2.10.0",
"jade": "~0.29.0",
"async": "~0.2.7"
}
Φυσικά, αυτό είναι το αμβλύ σφυρί της ενημέρωσης των εξαρτήσεων. Είναι μια χαρά αν—όπως είπατε—το έργο είναι άδειο και τίποτα δεν μπορεί να σπάσει.
Από την άλλη πλευρά, αν'εργάζεστε σε ένα πιο ώριμο έργο, πιθανώς να θέλετε να βεβαιωθείτε ότι δεν υπάρχουν σπαστικές αλλαγές στις εξαρτήσεις σας πριν από την αναβάθμιση.
Για να δείτε ποιες ενότητες είναι ξεπερασμένες, απλά εκτελέστε npm outdated
. Θα εμφανίσει όλες τις εγκατεστημένες εξαρτήσεις που έχουν διαθέσιμες νεότερες εκδόσεις.
Το npm-check-updates
είναι ένα βοηθητικό πρόγραμμα που προσαρμόζει αυτόματα ένα package.json με το
τελευταία έκδοση όλων των εξαρτήσεων
δείτε https://www.npmjs.org/package/npm-check-updates
$ npm install -g npm-check-updates
$ ncu -u
$ npm install
[EDIT] Ένας ελαφρώς λιγότερο παρεμβατικός (αποφεύγει την καθολική εγκατάσταση) τρόπος για να το κάνετε αυτό αν έχετε μια σύγχρονη έκδοση του npm
είναι:
$ npx npm-check-updates -u
$ npm install
Αυτό λειτουργεί από την npm 1.3.15.
"dependencies": {
"foo": "latest"
}