深色終端機畫面上捲動的程式碼,象徵在 Linux 伺服器上進行命令列安裝作業

← INSIGHTS & PERSPECTIVES | DevOps

在 Linux 離線安裝 pm2 的完整步驟教學

伺服器沒有對外網路時怎麼裝 pm2?我在能連網的機器上打包 npm 全域目錄裡的 pm2,上傳到離線 Linux 伺服器解壓縮、npm build 後即可用 pm2 -v 驗證安裝成功。

在沒有對外網路的 Linux 伺服器上,`npm install -g pm2` 是行不通的。這篇文章記錄我實際使用的離線安裝做法:先在能連網的機器上安裝並打包 pm2,再把 tarball 上傳到目標伺服器解壓、重新編譯,最後用 `pm2 -v` 驗證。整個流程只需要 tar 與 npm,不需要額外工具。

為什麼離線環境無法直接 npm install -g pm2?

`npm install` 預設要連到 npm registry 下載套件。生產環境的 Linux 伺服器常因資安政策不開放對外網路,這時就有兩個選擇:在內網架 npm registry 鏡像,或是像這篇一樣——直接把裝好的套件目錄打包帶過去。對只需要裝一兩個套件的情境,打包搬移是最快的方式。

事前準備:在連網機器上打包 pm2

先在一台能連網的 Linux 伺服器上安裝 pm2:

```bash

npm install pm2 -g

```

接著查詢本機 npm 預設的全域安裝目錄:

```bash

npm config get prefix

```

如果顯示 `/usr/local/node`,那麼 npm 預設的全域安裝目錄就是 `/usr/local/node/lib/node_modules/`。

進到全域目錄下找到 pm2:

```bash

cd /usr/local/node/lib/node_modules/

```

把 pm2 目錄打包成 tarball:

```bash

tar -cvzf pm2.tar.gz pm2

```

安裝方式:上傳、解壓縮、重新編譯

把 `pm2.tar.gz` 上傳到無網路的 Linux 伺服器上 npm 預設的全域目錄下,解壓縮:

```bash

tar -xvzf pm2.tar.gz

```

接著重新編譯:

```bash

npm build pm2 -g

```

大功告成,最後檢驗安裝是否可用:

```bash

pm2 -v

```

如果可以看到 pm2 的版本資訊,代表離線安裝成功。

離線安裝 pm2 要注意什麼?

  • 兩台機器的環境要盡量一致:Node.js 版本與作業系統架構差異太大時,含原生模組的套件可能出問題;pm2 本身以純 JavaScript 為主,通常沒有影響。
  • 路徑要對:解壓縮的位置必須是目標機器 npm 的全域目錄(用 `npm config get prefix` 確認),否則全域指令會找不到。
  • 權限:若全域目錄需要 root 權限,tar 解壓縮與 `npm build` 記得搭配 `sudo`。

延伸閱讀

常見問題

Q沒有網路的伺服器要怎麼安裝 pm2?

先在能連網的機器上 `npm install pm2 -g`,到 npm 全域目錄(`npm config get prefix` 查出的路徑下的 `lib/node_modules/`)把 pm2 目錄 `tar -cvzf` 打包,上傳到目標伺服器解壓後執行 `npm build pm2 -g` 即可。

Q怎麼知道 npm 的全域安裝目錄在哪裡?

執行 `npm config get prefix`,它輸出的路徑再加上 `lib/node_modules/` 就是全域套件的安裝位置。例如 prefix 是 `/usr/local/node`,全域目錄就是 `/usr/local/node/lib/node_modules/`。

Q安裝完怎麼確認 pm2 可以用?

執行 `pm2 -v`,有正常顯示版本資訊就代表安裝成功。若出現 command not found,通常是解壓路徑不在 npm 全域目錄,或該目錄不在 `PATH` 設定內。

Q`npm build pm2 -g` 這步是必須的嗎?

是。打包搬移只帶走了套件原始檔,`npm build -g` 會在目標機器上完成註冊與連結,讓 `pm2` 指令可以被全域呼叫。跳過這步可能會找不到指令。

參考資料

最後更新

2026-08-28(原文發布於 2019-09-28,本文保留原始筆記內容並補上 GEO 結構。)

關於作者 {#author}

Claire Chang | 企業 AI 導入與流程轉型顧問。專注於 AI Agent 架構設計、ERP 系統整合與企業 AI 治理。

首次發布:2019-09-28