Chia sẽ kinh nghiệm cập nhật thư viện javascipt thông quan npm

Thông thường khi làm việc với Nodejs thì việc dùng các thư viện bên thứ ba là không thể thiếu, nhưng việc đùng thư viện bên thứ ba nó cũng có sự rắc rối đólà, khi tác giả bên thứ ba cập nhập phiên bản mới, bạn cập nhập phiên bản mới cho app của bạn thì chắc chắn có sự xung đột xãy ra.

Điều này đã xãy ra trong thực tế của tôi khi phát triển dự án mạng xã hội chia sẽ hình ảnh thú cưng Lackky. Vì vậy trong chia sẽ này tôi sẽ chia sẽ trick cho các bạn

Nhưng trước hết thông thường các giải quyết của các bạn làm mở tập tin package.json sau đó bạn thây đổi các version tương ứng, cách này chỉ hiệu quả khi gói quảng lý package.json nó đơn giản, nhưng trong các ứng dụng thực tế thì nó chẳng đơn giản tí nào cả.

Sau một hồi tìm hiểu trên google thì thấy các developer nước ngoài chia sẽ một thư viện đó là npm-check-updates tôi bắt đầu dùng thử em nó.

Cách dùng npm-check-updates

Như mọi ứng dụng NodeJs thì để dùng nó, trước tiên máy của bạn cần phải có cài đặt NPM, nếu chưa có bạn có thể dế dàng cài đặt thông qua lệnh sau, nếu bạn dùng MacOS:

[code lang=text] brew install node

[/code]

sau khi cài đặt xong thì nó sẽ tự cài đặt cho bạn gói quản lý NPM luôn, sau đó để cài npm-check-updates bạn chỉ cần chạy lệnh sau:

[code lang=text] ###
npm install npm-check-updates -g

[/code]

sau khi cài đặt thành công bạn di chuyển vào dự án của bạn rồi chạy lệnh này để xem các version hiện có tương ứng với các thư viện mà bạn đang dùng:

[shell] ncu

### Result
phanbook at Phanbooks-MacBook-Pro in ~/github/app-lackky on master*
$ ncu
Using /Users/phanbook/github/app-lackky/package.json
⸨░░░░░░░░░░░░░░░░░░⸩ ⠦ :
@angular/animations 4.4.4 → 4.4.5
@angular/common 4.4.4 → 4.4.5
@angular/compiler 4.4.4 → 4.4.5
@angular/compiler-cli 4.4.4 → 4.4.5
@angular/core 4.4.4 → 4.4.5
@angular/forms 4.4.4 → 4.4.5
@angular/http 4.4.4 → 4.4.5
@angular/platform-browser 4.4.4 → 4.4.5
@angular/platform-browser-dynamic 4.4.4 → 4.4.5
@angular/platform-server 4.4.4 → 4.4.5
@angular/router 4.4.4 → 4.4.5
@ionic-native/android-permissions ^3.12.1 → ^4.3.1
@ionic-native/camera ^3.12.1 → ^4.3.1
@ionic-native/contacts ^3.12.1 → ^4.3.1
@ionic-native/deeplinks ^3.7.0 → ^4.3.1
@ionic-native/device ^3.7.0 → ^4.3.1
@ionic-native/facebook ^3.7.0 → ^4.3.1
@ionic-native/file ^3.11.0 → ^4.3.1
@ionic-native/geolocation ^3.7.0 → ^4.3.1
@ionic-native/google-analytics ^3.7.0 → ^4.3.1
@ionic-native/keyboard ^3.7.0 → ^4.3.1
@ionic-native/push ^3.10.3 → ^4.3.1
@ionic-native/sms ^3.12.1 → ^4.3.1
@ionic-native/splash-screen ^3.7.0 → ^4.3.1
@ionic-native/sqlite ^3.12.1 → ^4.3.1
@ionic-native/status-bar ^3.7.0 → ^4.3.1
@types/parse ^1.9.0 → ^2.4.0
@types/pouchdb 6.1.0 → 6.3.1
@types/request ^0.0.43 → ^2.0.5
cordova-android-play-services-gradle-release 0.0.1 → 1.1.1
cordova-android-support-gradle-release ~0.0.1 → ~1.1.2
cordova-browser ^4.1.0 → ^5.0.0
cordova-plugin-android-permissions ^0.10.0 → ^1.0.0
cordova-sqlite-storage ^0.7.14 → ^2.0.4
ionic-image-loader ^3.2.1 → ^4.2.1
parse ~1.9.2 → ~1.10.0
phonegap-plugin-push ^1.10.4 → ^2.0.0
rxjs 5.1.1 → 5.4.3
typescript 2.3.3 → 2.5.3

Run ncu with -u to upgrade package.json

[/shell]

hình trên là kết quả của dự án [Lackky](https://lackky.com] mà tôi đang làm như bạn thấy có khá là nhiều thây đổi, và ở dòng cuối cùng nó có nói **Run ncu with -u to upgrade package.json
** nếu bạn muốn cập nhật các phiên bản thì hãy chạy lệnh ncu với tham số là -u, do đó bạn chỉ cần chạy lệnh này là xong:

[code lang=text] ###
ncu -u

[/code]

còn trong trường hợp mà các thực viện của bạn đã cập nhật thành công trước đó thì bạn sẽ thấy có dạng tương tự như thế này:

[code lang=text] phanbook at Phanbooks-MacBook-Pro in ~/github/app-lackky on master*
$ ncu
Using /Users/phanbook/github/app-lackky/package.json
⸨░░░░░░░░░░░░░░░░░░⸩ ⠙ :
All dependencies match the latest package versions 🙂

phanbook at Phanbooks-MacBook-Pro in ~/github/app-lackky on master*
$ ncu -u
Using /Users/phanbook/github/app-lackky/package.json
⸨░░░░░░░░░░░░░░░░░░⸩ ⠇ :
All dependencies match the latest package versions 🙂

[/code]

điều đó có nghĩa là các thư viện của bạn đã dùng là mới nhất rồi do đó không cần cập nhật nữa

sau đó bạn chạy lệnh install lại để cho nó cài đặt các phiên bản mới nhất mà bạn đã update lệnh ở trên:

[code lang=text] ###
npm install

[/code]

Xin chúc mừng bạn đã cập nhật thành công, nếu như bạn nào xui xẻo mà gặp lỗi xãy ra thì bạn hãy đọc miêu tả của nó rồi fix thôi:

Trên đây là kinh nghiệm của tôi khi làm việc với trình quản lý npm javascript, nếu bạn nào có cách hay hơn hãy chia sẽ với gsviec.com. Như mọi khi nếu thấy bài viết hay hãy chia sẽ cho bạn bè của bạn.

Leave a Reply

Your email address will not be published. Required fields are marked *