Tự học Node.js cơ bản để đi phỏng vấn (13 bài) – 2 – Install Node.js, npm, VS Code

Bài 2 sẽ chỉ cho bạn cách cài đặt Node.js và trình quản lý gói Node.js - npm, theo 3 cách khác nhau - từ trang tải xuống Node.js, qua Homebrew (để cài đặt MacOS) và thông qua Trình quản lý phiên bản Node.js . Sau khi hướng dẫn bạn cách cài đặt Node.js, tôi sẽ hướng dẫn bạn cách cài đặt trình soạn thảo, VS Code, nơi bạn có thể viết mã nguồn của mình cho lộ trình học tập này.


1099

Bài 2 sẽ chỉ cho bạn cách cài đặt Node.js và trình quản lý gói Node.js – npm, theo 3 cách khác nhau – từ trang tải xuống Node.js, qua Homebrew (để cài đặt MacOS) và thông qua Trình quản lý phiên bản Node.js . Sau khi hướng dẫn bạn cách cài đặt Node.js, tôi sẽ hướng dẫn bạn cách cài đặt trình soạn thảo, VS Code, nơi bạn có thể viết mã nguồn của mình cho lộ trình học tập này.

Điều kiện tiên quyết

Bạn cần cài đặt Git cho máy tính của mình. Làm theo hướng dẫn trong tài liệu Git .

Ba cách để cài đặt Node.js và npm

Có một số cách để bạn có thể cài đặt Node.js.

Cách tốt nhất để cài đặt Node.js và npm là thông qua Trình quản lý phiên bản Node.js hoặc nvm . Với nvm, bạn có thể cài đặt nhiều phiên bản của Node.js và npm.

Cách tiếp cận dễ nhất là tải xuống gói cho nền tảng của bạn trực tiếp từ trang Tải xuống của dự án Node.js và chạy chương trình cài đặt. Cách này lý tưởng cho người dùng Windows, nhưng cũng ok cho MacOS và Linux.

Nếu bạn là người dùng Mac, cách tốt hơn là sử dụng Homebrew . Homebrew là trình quản lý gói cho MacOS.” Bạn có thể sử dụng nó để cài đặt và quản lý hàng trăm gói khác nhau cho MacOS.

Tôi đã tóm tắt những ưu và nhược điểm của từng cách tiếp cận trong bảng dưới đây:

Loại cài đặtƯu điểmNhược điểm
Tải xuống trực tiếp từ nodejs.orgĐơn giản, hầu hết các nền tảng được hỗ trợXác thực tổng kiểm tra thủ công
HomebrewĐơn giản, xác thực Checksum tự động, Có thể hoán đổi giữa nhiều phiên bản với một chút điều chỉnhChỉ hệ điều hành MacOS
nvmĐơn giản, xác nhận tổng kiểm tra tự động, Có thể dễ dàng hoán đổi giữa nhiều phiên bảnChỉ MacOS và Linux (có sẵn hệ thống cộng đồng cho các nền tảng khác)

Homebrew và nvm cung cấp xác thực tổng kiểm tra tự động (điều này rất hay), nhưng có giới hạn các nền tảng được hỗ trợ chính thức.

Chọn bản phát hành Node.js

Trên trang Tải xuống, bạn phải chọn giữa hỗ trợ dài hạn (LTS) hoặc bản phát hành hiện tại. Sự khác biệt là gì?

SemVer

Các bản phát hành Node.js sử dụng cách đánh số bản phát hành (version) SemVer (đánh số MAJOR.MINOR.PATCH . Ví dụ: 2.1.0 hoặc 10.4.0). Đọc thêm về SemVer .

Nhóm phát hành Node.js chỉ định các bản phát hành chính được đánh số chẵn làm bản phát hành LTS. Các bản phát hành LTS được hỗ trợ trong tối đa 3 năm kể từ ngày phát hành ban đầu, trong thời gian đó bản phát hành đi từ LTS hiện tại (~ 6 tháng) đến LTS đang hoạt động (18 tháng, chỉ các bản sửa đổi nhỏ) đến LTS bảo trì (12 tháng, bản vá chỉ phát hành). Điều này có nghĩa là bạn có thể chắc chắn rằng bản phát hành LTS sẽ ổn định trong một khoảng thời gian đáng kể.

Nếu bạn muốn biết thêm về quy trình phát hành Node.js, hãy xem trang Phát hành , trang này bao gồm thông tin về lịch phát hành, nhiệm vụ phát hành và phương pháp luận cho các bản phát hành LTS (cùng với những gì diễn ra trong đó).

Đối với lộ trình học tập Node.js, tôi sử dụng phiên bản 10.

Tải xuống gói cài đặt từ trang web của dự án Node.js

Tới trang tải về và nhấp chuột vào trình cài đặt phù hợp với nền tảng của bạn.

Như tôi đã nói trong phần trước, tôi sử dụng phiên bản 10 cho Lộ trình học.

Khi trình cài đặt được tải xuống máy tính của bạn, hãy khởi chạy trình cài đặt. Ví dụ: trên máy Mac của tôi, tôi nhấp đúp vào chương trình Trình cài đặt gói (được gọi là node-v10.4.0.pkg) để chạy trình cài đặt gói. Tôi chỉ cho bạn cách làm điều này trong video. Nếu bạn đang chạy Windows, hãy nhấp đúp vào trình cài đặt và làm theo các bước trong trình hướng dẫn cài đặt.

Đối với Linux, hãy giải nén tarball đến một vị trí tiêu chuẩn, chẳng hạn như /usr/local/lib/nodejs, đảm bảo rằng đường dẫn đến thư mục bin Node.js khớp với PATH biến môi trường của bạn . Xem liên kết này từ Node.js GitHub Wiki để biết thêm hướng dẫn chi tiết.

Bây giờ, hãy chuyển đến Xác minh phần Cài đặt để xác nhận rằng Node.js và npm đã được cài đặt chính xác.

Về sau, khi bạn muốn nâng cấp phiên bản Node.js của mình, hãy tải xuống trình cài đặt mới và nó sẽ thay thế phiên bản hiện tại.

Sử dụng phương pháp cài đặt này, bạn có thể chỉ cài đặt một phiên bản Node.js và npm tại một thời điểm. Nếu bạn muốn cài đặt nhiều phiên bản và chuyển đổi qua lại giữa chúng (để kiểm tra khả năng tương thích), tôi khuyên bạn nên sử dụng nvm

Sử dụng Homebrew để cài đặt Node.js trên MacOS

Homebrew là một cách tốt hơn để quản lý các gói khác nhau trên máy Mac của bạn. Bất cứ khi nào tôi cần cài đặt một gói Linux quen thuộc, tôi sẽ kiểm tra xem liệu nó có sẵn dùng dưới dạng “công thức” Homebrew hay không trước khi cố gắng cài đặt gói theo cách khác (với những ngoại lệ hiếm hoi như sử dụng nvm để quản lý Node.js, tôi sẽ hiển thị cho bạn trong phần tiếp theo).

Để tìm hiểu thêm về Homebrew và cách cài đặt nó, hãy xem trang Cài đặt .

Để cài đặt phiên bản hiện tại của Node.js và npm qua Homebrew, hãy mở cửa sổ Terminal trên máy Mac của bạn và nhập lệnh sau:

brew install node

Để cài đặt Node.js phiên bản 10 mới nhất, hãy nhập brew install node@10 lệnh. Bạn sẽ thấy đầu ra như thế này:

$ brew install node@10
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
No changes to formulae.
==> Downloading https://homebrew.bintray.com/bottles/node-10.4.0.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring node-10.4.0.high_sierra.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/10.4.0: 6,793 files, 59.6MB
$

Lưu ý: homebrew luôn cài đặt phiên bản hiện tại của Node.js khi bạn sử dụng lệnh như tôi đã trình bày ở trên. Nếu bạn muốn cài đặt một phiên bản chính cụ thể của Node.js, bạn chỉ định số phiên bản chính như sau:

brew install node@8

Bạn sẽ thấy đầu ra như thế này:

$ brew install node@8
==> Downloading https://homebrew.bintray.com/bottles/node@8-8.11.2.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring node@8-8.11.2.high_sierra.bottle.tar.gz
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.
If you need to have this software first in your PATH run:
  echo 'export PATH="/usr/local/opt/node@8/bin:$PATH"' >> ~/.bash_profile
For compilers to find this software you may need to set:
    LDFLAGS:  -L/usr/local/opt/node@8/lib
    CPPFLAGS: -I/usr/local/opt/node@8/include
==> Summary
🍺  /usr/local/Cellar/node@8/8.11.2: 4,430 files, 47MB

Điều này cài đặt phiên bản mới nhất của Node.js 8, có nghĩa là chỉ bản phát hành minor.patch mới nhất. Lưu ý: nếu phiên bản bạn cài đặt không phải là phiên bản hiện tại của Node.js (ngay cả khi nó là LTS đang hoạt động), thì nó sẽ là một cài đặt “keg-only”. Xem “Chỉ keg nghĩa là gì?” trong Câu hỏi thường gặp về Homebrew để biết thêm thông tin.

Trong tương lai, để nâng cấp Node.js, hãy sử dụng:

brew upgrade node

Chuyển đổi giữa nhiều phiên bản

Homebrew cho phép bạn cài đặt nhiều phiên bản chính của Node.js và npm cùng một lúc, nhưng chỉ một phiên bản có thể hoạt động. Nếu bạn muốn chuyển đổi giữa chúng, bạn phải “hủy liên kết” phiên bản được liên kết tích cực và “liên kết” phiên bản bạn muốn sử dụng.

Trên máy Mac của tôi, điều này có nghĩa là tôi phải nhảy qua một vài vòng (liên quan --forcevà --overwrite) để chuyển từ phiên bản 10 sang phiên bản 8 và hơn một lần tôi đã vô tình để hệ thống của mình ở trạng thái kỳ lạ (như trong, -bash: /usr/local/bin/npm: No such file or directory). Ví dụ: đây là những gì tôi phải thực hiện để chuyển từ Node.js 10 sang Node.js 8 và quay lại Node.js 10:

Ix:~ sperry$ brew unlink node
Unlinking /usr/local/Cellar/node/10.4.0... 7 symlinks removed
Ix:~ sperry$ brew link --force --overwrite node@8
Linking /usr/local/Cellar/node@8/8.11.2... 4287 symlinks created
If you need to have this software first in your PATH instead consider running:
  echo 'export PATH="/usr/local/opt/node@8/bin:$PATH"' >> ~/.bash_profile
Ix:~ sperry$ node -v
v8.11.2
Ix:~ sperry$ npm -v
5.6.0
Ix:~ sperry$ brew unlink node@8
Unlinking /usr/local/Cellar/node@8/8.11.2... 4287 symlinks removed
Ix:~ sperry$ brew link node
Linking /usr/local/Cellar/node/10.4.0... 7 symlinks created
Ix:~ sperry$ node -v
v10.4.0
Ix:~ sperry$ npm -v
-bash: /usr/local/bin/npm: No such file or directory
Ix:~ sperry$ brew reinstall node
==> Reinstalling node
==> Downloading https://homebrew.bintray.com/bottles/node-10.4.0.high_sierra.bottle.tar.gz
Already downloaded: /Users/sperry/Library/Caches/Homebrew/node-10.4.0.high_sierra.bottle.tar.gz
==> Pouring node-10.4.0.high_sierra.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/10.4.0: 6,793 files, 59.6MB
Ix:~ sperry$ npm -v
6.1.0
Ix:~ sperry$

Nhưng cuối cùng tôi phải cài đặt lại Node.js 10 vì unlinktừ Node.js 8 đã gây ra lỗi. Có lẽ tôi đã làm điều gì đó không chính xác. 

Nếu bạn thực sự cần chuyển đổi dễ dàng giữa các phiên bản Node.js và npm, tôi thực sự khuyên bạn nên sử dụng nvm. Ngoài ra, nếu bạn muốn cài đặt nhiều phiên bản major.minor.patch và chuyển đổi qua lại giữa chúng (để kiểm tra tính tương thích), bạn phải sử dụng nvm, vì Homebrew chỉ hỗ trợ cài đặt bản phát hành major.minor.patch mới nhất.

Chỉ sử dụng nvm để cài đặt Node.js trên MacOS và Linux

Xin lỗi, người dùng Windows. NVM chính thức chỉ được hỗ trợ trên MacOS và Linux, nhưng có hai lựa chọn thay thế

Các nền tảng không được hỗ trợ khác cũng được liệt kê trong Ghi chú quan trọng .

Cài đặt nvm chỉ trong tích tắc. Đi tới repo creationix GitHub và cuộn xuống phần Cài đặt (hoặc nhấp vào liên kết này . Sao chép lệnh cài đặt và dán vào cửa sổ Terminal hoặc dấu nhắc lệnh:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

Chỉ mất vài giây (ít hơn 10 trên máy Mac của tôi) để tải xuống và cài đặt.

Tập lệnh cài đặt thực hiện các thay đổi đối với .bash_profile(MacOS) hoặc .profile(Linux) của bạn, vì vậy khi tập lệnh kết thúc, bạn sẽ cần chạy lại tập lệnh hồ sơ của mình bằng phương pháp yêu thích của bạn để làm như vậy. 

Xác minh rằng nvm được cài đặt đúng cách bằng cách chạy nvm --versionlệnh. Bạn sẽ thấy đầu ra như thế này:

$ nvm --version
0.33.11

Để cài đặt Node.js và npm, hãy chạy nvm install --ltslệnh yêu cầu nvm cài đặt phiên bản LTS (tại thời điểm viết bài này là Node.js 8.11.2 và npm 5.6.0):

$ nvm install --lts
Installing latest LTS version.
Downloading and installing node v8.11.2...
Downloading https://nodejs.org/dist/v8.11.2/node-v8.11.2-darwin-x64.tar.gz...
######################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v8.11.2 (npm v5.6.0)

Cho xem nhiều hơn

Bây giờ xác minh cài đặt bằng cách sử dụng các hướng dẫn trong phần tiếp theo.

Chuyển đổi giữa nhiều phiên bản với nvm

Bạn có thể cài đặt nhiều phiên bản Node.js và npm đã được cài đặt (bao gồm bất kỳ tổ hợp major.minor.patch nào đã được phát hành) và chuyển đổi qua lại giữa chúng. Ví dụ, điều này rất tốt cho việc kiểm tra tính tương thích. Giả sử bạn muốn cài đặt Node.js 10 (tại thời điểm viết bài này là 10.4.0):

$ nvm install 10
Downloading and installing node v10.4.0...
Downloading https://nodejs.org/dist/v10.4.0/node-v10.4.0-darwin-x64.tar.gz...
######################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v10.4.0 (npm v6.1.0)
$ node -v
v10.4.0
Ix:~ sperry$ npm -v
6.1.0

Sau đó, chuyển trở lại Node.js 8 (Tôi giả sử bạn đã làm theo hướng dẫn này và phiên bản đang sử dụng là 10):

Ix:~ sperry$ nvm use 8
Now using node v8.11.2 (npm v5.6.0)
Ix:~ sperry$ node -v
v8.11.2
Ix:~ sperry$ npm -v
5.6.0

Để xem tất cả các tùy chọn có sẵn, chỉ cần nhập nvm và màn hình trợ giúp này xuất hiện:

Usage:
  nvm --help                                Show this message
  nvm --version                             Print out the installed version of nvm
  nvm install [-s] <version>                Download and install a <version>, [-s] from source. Uses .nvmrc if available
    --reinstall-packages-from=<version>     When installing, reinstall packages installed in <node|iojs|node version number>
    --lts                                   When installing, only select from LTS (long-term support) versions
    --lts=<LTS name>                        When installing, only select from versions for a specific LTS line
    --skip-default-packages                 When installing, skip the default-packages file if it exists
    --latest-npm                            After installing, attempt to upgrade to the latest working npm on the given node version
  nvm uninstall <version>                   Uninstall a version
  nvm uninstall --lts                       Uninstall using automatic LTS (long-term support) alias `lts/*`, if available.
  nvm uninstall --lts=<LTS name>            Uninstall using automatic alias for provided LTS line, if available.
  nvm use [--silent] <version>              Modify PATH to use <version>. Uses .nvmrc if available
    --lts                                   Uses automatic LTS (long-term support) alias `lts/*`, if available.
    --lts=<LTS name>                        Uses automatic alias for provided LTS line, if available.
  nvm exec [--silent] <version> [<command>] Run <command> on <version>. Uses .nvmrc if available
    --lts                                   Uses automatic LTS (long-term support) alias `lts/*`, if available.
    --lts=<LTS name>                        Uses automatic alias for provided LTS line, if available.
  nvm run [--silent] <version> [<args>]     Run `node` on <version> with <args> as arguments. Uses .nvmrc if available
    --lts                                   Uses automatic LTS (long-term support) alias `lts/*`, if available.
    --lts=<LTS name>                        Uses automatic alias for provided LTS line, if available.
  nvm current                               Display currently activated version
  nvm ls                                    List installed versions
  nvm ls <version>                          List versions matching a given <version>
  nvm ls-remote                             List remote versions available for install
    --lts                                   When listing, only show LTS (long-term support) versions
  nvm ls-remote <version>                   List remote versions available for install, matching a given <version>
    --lts                                   When listing, only show LTS (long-term support) versions
    --lts=<LTS name>                        When listing, only show versions for a specific LTS line
  nvm version <version>                     Resolve the given description to a single local version
  nvm version-remote <version>              Resolve the given description to a single remote version
    --lts                                   When listing, only select from LTS (long-term support) versions
    --lts=<LTS name>                        When listing, only select from versions for a specific LTS line
  nvm deactivate                            Undo effects of `nvm` on current shell
  nvm alias [<pattern>]                     Show all aliases beginning with <pattern>
  nvm alias <name> <version>                Set an alias named <name> pointing to <version>
  nvm unalias <name>                        Deletes the alias named <name>
  nvm install-latest-npm                    Attempt to upgrade to the latest working `npm` on the current node version
  nvm reinstall-packages <version>          Reinstall global `npm` packages contained in <version> to current version
  nvm unload                                Unload `nvm` from shell
  nvm which [current | <version>]           Display path to installed node version. Uses .nvmrc if available
  nvm cache dir                             Display path to the cache directory for nvm
  nvm cache clear                           Empty cache directory for nvm
Example:
  nvm install 8.0.0                     Install a specific version number
  nvm use 8.0                           Use the latest available 8.0.x release
  nvm run 6.10.3 app.js                 Run app.js using node 6.10.3
  nvm exec 4.8.3 node app.js            Run `node app.js` with the PATH pointing to node 4.8.3
  nvm alias default 8.1.0               Set default node version on a shell
  nvm alias default node                Always default to the latest available node version on a shell
Note:
  to remove, delete, or uninstall nvm - just remove the `$NVM_DIR` folder (usually `~/.nvm`)

Bạn cũng có thể xem tài liệu NVM .

Xác minh cài đặt

Sau khi Node.js và npm được cài đặt, hãy xác minh rằng chúng được cài đặt đúng cách:

node -v
npm -v

Bạn sẽ thấy đầu ra như thế này:

$ node -v
v10.4.0
$ npm -v
6.1.0

Đảm bảo rằng điều đó /usr/local/binnằm trên PATHbiến môi trường của bạn hoặc bạn có thể thấy đầu ra như thế này:

$ node
-bash: node: command not found

Cài đặt mã VS

Để làm theo tất cả các hướng dẫn trong Lộ trình học tập, bạn cần một trình biên tập. Tôi đã sử dụng VS Code vài năm nay và thực sự thích nó. Nó miễn phí, mã nguồn mở và có cộng đồng người dùng tích cực với nhiều tiện ích mở rộng, có nghĩa là bạn có thể tìm thấy nhiều tiện ích mở rộng khác nhau cho ngôn ngữ, nền tảng hoặc định dạng tệp yêu thích của mình. Thêm vào đó, VS Code được xây dựng trên khung Electron sử dụng Node.js.

Tất nhiên, bạn có thể tự do sử dụng bất kỳ trình soạn thảo nào bạn thích. Đối với các hướng dẫn trong loạt bài này, tôi sử dụng VS Code, vì vậy tất cả các ảnh chụp màn hình và video bạn thấy đều là VS Code.

Để cài đặt VS Code, hãy truy cập code.visualstudio.com . Trình duyệt của bạn sẽ tự động phát hiện nền tảng của bạn và điền trước vào menu thả xuống với nội dung tải xuống phù hợp hoặc sử dụng menu thả xuống để chọn bất kỳ nội dung tải xuống nào khác mà bạn thích. Tuy nhiên, tôi khuyên bạn nên truy cập trang tải xuống nơi bạn cũng có thể lấy tổng kiểm tra SHA256 để tải xuống. Để xem tổng kiểm tra, hãy nhấp vào liên kết ở cuối trang có tiêu đề “Xem SHA-256 Hash”, liên kết này sẽ mở rộng hiển thị danh sách các hàm băm cho mỗi tệp.

Tệp được tải xuống sẽ khác nhau tùy theo nền tảng. Đối với MacOS, tệp đã tải xuống là tệp nén ZIP chứa tệp Ứng dụng MacOS. Sao chép tệp vào thư mục ứng dụng của bạn để bạn có thể dễ dàng định vị tệp sau này nếu muốn.

Nếu bạn đang chạy trên Windows, tệp là một trình cài đặt. Hướng dẫn cài đặt nó ở đây .

Nếu bạn đang chạy Linux, bạn có thể tìm thấy hướng dẫn thiết lập tại đây .

Khi bạn đã cài đặt VS Code, hãy tiếp tục và khởi chạy nó. Bạn chắc chắn nên kiểm tra Marketplace, nơi có HÀNG TẤN plugin.

Để cài đặt plugin, hãy nhấp vào biểu tượng Marketplace, tìm kiếm plugin bạn muốn và nhấp vào Cài đặt . Hình 4 cho thấy một số tiện ích mở rộng tôi đã cài đặt:

Chạy Node.js trong VS Code

VS Code cắm vào thời gian chạy Node.js, vì vậy bạn có thể chạy mã của mình từ bên trong VS Code. Làm theo các bước sau:

  1. Điều hướng đến thư mục mà bạn đã sao chép mã.
  2. Trong VS Code, chọn File > Open và chọn folder chứa code,
  3. Nhấp vào tab File , mở file cần chỉnh sửa.
  4. Nhấp vào tab Debug
  5. Bấm vào nút Run.

Tệp JavaScript sẽ chạy trong cửa sổ gỡ lỗi. Bạn sẽ thấy một cái gì đó giống như Hình 5 khi nó hoàn thành.

Hình 5 Hình 5 – cửa sổ gỡ lỗi Mã VS.

Bây giờ bạn có thể chạy tất cả các ví dụ trong khóa học này từ dòng lệnh hoặc từ trong VS Code.

Phần kết luận

Trong hướng dẫn này, tôi đã chỉ cho bạn 3 cách khác nhau để bạn có thể cài đặt Node.js và npm, cũng như những ưu điểm và nhược điểm của từng cách. Sau đó, tôi đã hướng dẫn bạn cách cài đặt VS Code để bạn có thể làm theo các ví dụ trong lộ trình học tập này.

Trong phần tiếp theo của loạt bài này, tôi sẽ giới thiệu cho bạn các khái niệm cơ bản về Node.js và bạn viết một số mã JavaScript!


Like it? Share with your friends!

1099