ใช้ nvm ติดตั้ง node.js บน OSX (ดีกว่า)

Posted on
development

เราใช้ macOS และใช้ brew จนชินแล้ว มาวันนี้จะ upgrade version ของ nodejs ต้องเรียกว่าเคาะสนิม…หลังจากที่ไปจับเรื่องอื่นอยู่นาน ก็งงงง มึนมึน เรียกใช้ yarn แล้วมันฟ้องว่า ตอนนี้ในเครื่องคุณใช้ node v7 ซึ่งไม่ support แล้ว เราเลยไปหาว่าตอนนี้ node version อะไรที่เป็น LTS (long term support) เลยได้มาว่าจะติดตั้ง 8.x (8.9.4) ซึ่งเป็น long term support

ลองใช้ brew search node, nodejs เห้ย! มันไม่มี tap ซะแล้ว เท่าที่เจอคือ 8.9.1 จนไปเจอใน Stack Overflow เค้าแนะนำกันเอาไว้ตั้งแต่ Feb 2017 ว่าให้ใช้ nvm ในการติดตั้งและจัดการ version ของ nodejs จะเหมาะสมกว่า

ติดตั้ง nvm ด้วย homebrew

brew install nvm

เมื่อติดตั้งเสร็จ ทำตามคำแนะนำที่ว่า

  • เราจะต้องสร้าง folder ~/.nvm ขึ้นมาเอง
  • เพิ่ม environment variable NVM_DIR

==> Caveats Please note that upstream has asked us to make explicit managing nvm via Homebrew is unsupported by them and you should check any problems against the standard nvm install method prior to reporting.

You should create NVM’s working directory if it doesn’t exist:

mkdir ~/.nvm

Add the following to ~/.zshrc or your desired shell configuration file:

export NVM_DIR="$HOME/.nvm" . “/usr/local/opt/nvm/nvm.sh”

You can set $NVM_DIR to any location, but leaving it unchanged from /usr/local/opt/nvm will destroy any nvm-installed Node installations upon upgrade/reinstall.

Type nvm help for further information.

Bash completion has been installed to: /usr/local/etc/bash_completion.d

ติดตั้ง node version ที่ต้องการด้วย nvm

สั่ง ls-remote เพื่อดูว่าเค้าติดตั้ง version อะไรให้เราได้บ้าง

nvm ls-remote
...
         v8.9.0   (LTS: Carbon)
         v8.9.1   (LTS: Carbon)
         v8.9.2   (LTS: Carbon)
         v8.9.3   (LTS: Carbon)
         v8.9.4   (Latest LTS: Carbon)
         v9.0.0
         v9.1.0
...

สั่ง ls-remote เพื่อดูว่าเราติดตั้ง version อะไรอยู่บ้าง

nvm ls

        v5.12.0
        v6.11.0
        v7.10.0
         v8.1.2
         v8.9.4
->       system
default -> 5 (-> v5.12.0)
node -> stable (-> v8.9.4) (default)
stable -> 8.9 (-> v8.9.4) (default)
iojs -> N/A (default)
lts/* -> lts/carbon (-> v8.9.4)
lts/argon -> v4.8.7 (-> N/A)
lts/boron -> v6.12.3 (-> N/A)
lts/carbon -> v8.9.4

ใช้ nvm use 6.11 เพื่อเปลี่ยน version ไปใช้ v6.11.0

ใช้ nvm install 9.1.0 เพื่อติดตั้ง version v9.1.0

เสร็จละใช้ node command ได้สบายใจขึ้นละทีนี้ ^^