Linux Node.js

Linux Node.js 的升級與安裝

最近在處理公司產品的套件升級,發現滿多套件都依賴 Node.js,需要先升級機器的 Node.js 才能進行後續的處理,這篇文章就以 Ubuntu 為例,筆記一下在 Linux 中升級 Node.js 的方法。

如果擔心直接升級機器的 Node.js 的話,我滿推薦先用 OrbStack 在自己的電腦開 Linux 的 VM 來做一些測試。(OrbStack 是 mac 用來開發 docker container 以及啟用 VM 的好工具!)

延伸閱讀:Docker Desktop 殺手 – OrbStack 教學

1. 使用 nodesource 來安裝

nodesource 有在維護各種版本的 Node.js,方便開發人員在不同的 linux 作業系統上安裝。使用這個方法的好處是,Linux 只會有一種版本的 Node.js。

以下以 ubuntu 為例,將 Node.js 從 16 版升到 18 版。

1.1 確認目前使用的 Node.js 版本

$ node -v
v16.20.2

1.2 下載設定指令

nodesource 提供了安裝前設定 Node.js 的 shell script,可以直接用 curl 下載到 local

(如果要安裝的 Node.js 版本是 20 的話,只需要把 setup_ 後面的 18 改成 20 即可)

$ curl -sL <https://deb.nodesource.com/setup_18.x> -o /tmp/nodesource_setup.sh

1.3 執行設定指令

執行剛剛下載下來的 shell script,會先安裝 Node.js 相依的 package

$ sudo bash /tmp/nodesource_setup.sh

1.4 安裝欲升級的 Node.js

$ sudo apt install nodejs

1.5 確認安裝後的 Node.js 版本

$ node -v
v18.20.3

可以看到,使用 nodesource 提供的 script 可以說是無痛升級,還可以維持 linux 中只有一個版本的 Node.js,可說是皆大歡喜。

1.6 解除安裝 Node.js

如果用這個方法安裝 Node.js 的話,要解除安裝也很簡單,直接用 apt remove 即可

$ sudo apt remove nodejs

$ node -v
-bash: node: command not found

2. 使用 nvm

nvm (Node Version Manager) 是許多開發者在 local 會使用的軟體,由於 local 上不同 repo 的 Node.js 可能不同,因此使用 nvm 可以快速切換 Node.js 的版本,不過在 Linux 上通常不太會用到不同版的 Node.j,因此個人比較頃向使用第一個方法,但這裡還是整理一下使用 nvm 來安裝 Node.js 的筆記。

2.1 安裝 nvm

$ curl -o- <https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh> | bash

2.2 reload bashrc

安裝完 nvm 後,會自動更新 bashrc 檔,因此會需要 reload bashrc(如果是用 zsh 就是 reload zshrc 檔)

$ source ~/.bashrc

2.3 使用 nvm 安裝 Node.js

可以直接用 nvm 來安裝 Node.js,假設目前想安裝 18 版的 Node.js:

$ nvm install 18

nvm 會直接安裝 18 版的 LTS (Long-term support) 版本

2.4 設定 nvm 預設使用的 Node.js 版本

就像前面提到的,nvm 通常用來管理多版本的 Node.js,因此也可以設定要預設的 Node.js 版本

$ nvm alias default 18

這樣就會預設全域使用 18 版的 Node.js

2.5 nvm 常用指令

最後提供一下 nvm 常用的相關指令:

# 找到 .nvmrc,並使用該內容的版本
$ nvm use

# 用大版號的 lts 版本
$ nvm use [nodejs_version] --lts

# 安裝大版號的 lts 版本
$ nvm install 18

# 解除安裝某個 Node.js 版本
$ nvm uninstall [nodejs_version]

# 設定全域的 node 版本
$ nvm alias default 18

# 列出 local 有安裝的 nodejs 版本
# nvm 目前預設的版本
# 各大版號目前的 lts 版本
$ nvm list

2.6 解除安裝 nvm

2.6.1 移除 nvm 相關的檔案

    $ rm -rf ~/.nvm
    $ rm -rf ~/.npm

    2.6.2 移除 bashrc 裡 nvm 相關的 config

    # ~/.bashrc
    # 移除以下三行
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

    3. 參考資料

    How To Install Node.js on Ubuntu 20.04
    How to uninstall nvm? · Issue #298

    如果覺得我的文章有幫助的話,歡迎幫我的粉專按讚哦~謝謝你!

    Leave a Comment

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

    Scroll to Top