Node memperbarui paket tertentu

187

Saya ingin memperbarui Browser-sync saya tanpa memperbarui semua paket node saya . Bagaimana saya bisa mencapai ini? Versi browser-sync saya saat ini tidak memiliki GUI Browser-sync :(

├─┬ browser-sync@1.9.2
 ├── browser-sync-client@1.0.2
Samuel
sumber
4
npm install browser-sync@latestmungkin. harus menulis berlebihan dengan yang terbaru (mungkin memperbaiki kerusakan apa pun?)
rlemon

Jawaban:

290

Sebagian besar waktu Anda hanya dapat memperbarui npm (atau meningkatkan benang ) modul untuk mendapatkan perubahan terbaru yang tidak melanggar (menghormati semver yang ditentukan dalam package.json Anda) (<- baca bagian terakhir itu lagi).

npm update browser-sync
-------
yarn upgrade browser-sync
  • Gunakan npm|yarn outdateduntuk melihat modul mana yang memiliki versi lebih baru
  • Gunakan npm update|yarn upgrade(tanpa nama paket) untuk memperbarui semua modul
  • Sertakan --save-dev|--devjika Anda ingin menyimpan nomor versi yang lebih baru ke package.json Anda. (CATATAN: pada npm v5.0 ini hanya diperlukan untuk devDependencies).

Peningkatan versi utama:

Dalam kasus Anda, sepertinya Anda menginginkan versi utama berikutnya (v2.xx), yang kemungkinan akan merusak perubahan dan Anda perlu memperbarui aplikasi untuk mengakomodasi perubahan tersebut. Anda dapat menginstal / menyimpan yang terbaru 2.x.xdengan melakukan:

npm install browser-sync@2 --save-dev
-------
yarn add browser-sync@2 --dev

... atau yang terbaru 2.1.xdengan melakukan:

npm install browser-sync@2.1 --save-dev
-------
yarn add browser-sync@2.1 --dev

... atau yang terbaru dan terhebat dengan melakukan:

npm install browser-sync@latest --save-dev
-------
yarn add browser-sync@latest --dev

Catatan: yang terakhir tidak berbeda dengan melakukan ini:

npm uninstall browser-sync --save-dev
npm install browser-sync --save-dev
-------
yarn remove browser-sync --dev
yarn add browser-sync --dev

Bagian --save-devitu penting. Ini akan menghapusnya, menghapus nilai dari package.json Anda, dan kemudian menginstal ulang versi terbaru dan menyimpan nilai baru ke package.json Anda.

Ryan Wheale
sumber
1
npm update browser-sync --save-devjuga akan bekerja untuk memperbarui ke versi utama, dan menyimpan package-lock.json (jika ada, tentu saja).
Wildhoney
5
@Wildhoney - Saya dengan hormat tidak setuju dengan Anda (kebanyakan) - npm updateakan menginstal masing-masing semver terbaru . Satu-satunya cara untuk memperbarui ke versi utama berikutnya adalah dengan melakukannya secara eksplisit seperti yang saya jelaskan di atas. Jika Anda belum pernah menginstal paket dan Anda mencoba memperbarui / menyimpannya, maka itu akan menginstal versi terbaru, tetapi itu tidak terlalu umum. Ada juga semver yang jarang digunakan untuk menentukan versi utama terbaru - itu akan terlihat seperti ini di package.json Anda: browser-sync: '*'ATAU browser-sync: 'x'- tapi saya TIDAK merekomendasikan melakukan itu.
Ryan Wheale
1
@RyanWheale, perhatikan bahwa karena [email protected] --save-devtidak diperlukan, karena itu akan disimpan ke package.json secara otomatis ( docs.npmjs.com/cli/update )
lakesare
@lakesare sebenarnya pada [email protected] standarnya adalah --save, not --save-dev. Anda masih perlu menentukan --save-dev jika Anda ingin membuat ketergantungan hanya dev.
Joshua Harris
2
npm instal beberapa paket @ latest --save-dev bekerja untuk saya. Terima kasih.
ashilon
3

Gunakan npm outdated untuk melihat versi Saat Ini dan Terbaru dari semua paket.


Kemudian npm i packageName@versionNumberuntuk menginstal versi spesifik: contoh npm i [email protected] .

Atau npm i packageName@latestuntuk menginstal versi terbaru: contoh npm i browser-sync@latest .

Qui-Gon Jinn
sumber
-2

Selalu Anda bisa melakukannya secara manual. Itulah langkah-langkahnya:

  • Buka halaman paket NPM, dan cari tautan GitHub.
  • Sekarang unduh versi terbaru menggunakan tautan unduhan GitHub, atau dengan mengkloning. git clone github_url
  • Salin paket ke node_modulesfolder Anda misalnyanode_modules/browser-sync

Sekarang itu akan bekerja untuk Anda. Untuk memastikan itu tidak akan rusak di masa mendatang ketika Anda melakukannya npm i, lanjutkan dua langkah yang akan datang:

  • Periksa versi paket baru dengan membaca package.jsonfile di foldernya.
  • Buka proyek Anda package.jsondan atur versi yang sama untuk tempat itu muncul di dependenciesbagian Andapackage.json

Meskipun tidak disarankan untuk melakukannya secara manual. Terkadang ada baiknya untuk memahami bagaimana segala sesuatu bekerja di bawah tenda, untuk dapat memperbaiki keadaan. Saya menemukan diri saya melakukannya dari waktu ke waktu.

Aminadav Glickshtein
sumber