安裝與環境設置

2026-07-18
  • ros2
  • installation
  • ubuntu
  • environment

問題定義

裝環境聽起來是最不需要教學的一步——照著官方文件的指令複製貼上就好。但實務上,安裝階段其實是新手卡最久的地方之一:版本對不上、金鑰過期、source 忘記執行,各種問題會讓你在真正寫程式碼之前就卡關。這篇文章把完整安裝流程走一遍,並且把幾個最常見的坑都標出來。

核心概念說明

ROS2 的安裝本質上就是「加入官方的 apt 套件庫,然後用 apt install 裝套件」,跟安裝任何其他 Ubuntu 套件沒有本質差異。但有兩個地方需要特別注意:

  1. 發行版與 Ubuntu 版本的對應關係是綁定的,不能混搭。本課程使用的 ROS2 Lyrical Luth 對應 Ubuntu 26.04;如果你的 Ubuntu 版本不對,套件庫裡根本找不到對應的安裝檔。
  2. 環境變數不會自動生效,每次開新的終端機視窗,都需要重新載入 ROS2 的 setup.bash(或把它加進 shell 的啟動腳本)。

實作範例:完整安裝流程

以下步驟假設你已經有一台乾淨的 Ubuntu 26.04 環境。

1. 設定語系(locale)

ROS2 需要 UTF-8 語系支援:

bash
locale  # 檢查目前設定
sudo apt update && sudo apt install locales -y
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

2. 加入 ROS2 套件庫與金鑰

bash
sudo apt install software-properties-common -y
sudo add-apt-repository universe

sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \
  -o /usr/share/keyrings/ros-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" \
  | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

3. 安裝 ROS2 桌面版

bash
sudo apt update
sudo apt upgrade -y
sudo apt install ros-lyrical-desktop -y

這一步會花幾分鐘,因為桌面版包含 RViz2、rqt 等可視化工具,套件數量不小。

4. 安裝開發工具(之後章節會用到)

bash
sudo apt install ros-dev-tools -y

這包含 colcon(編譯工具)、rosdep(依賴管理)等,第 1.3、1.4 節會實際用到。

5. 載入環境變數

bash
source /opt/ros/lyrical/setup.bash

建議加進 ~/.bashrc,這樣每次開新終端機都會自動載入:

bash
echo "source /opt/ros/lyrical/setup.bash" >> ~/.bashrc
source ~/.bashrc

驗證安裝:預期輸出

bash
ros2 --version

安裝成功的話會看到:

text
ros2 cli version: 26.1.0

再跑一次上一節提到的健檢指令,確認整體環境沒問題:

bash
ros2 doctor
text
All 5 checks passed

看到 All checks passed,代表安裝完成,可以進入下一節開始建立工作空間。

常見錯誤與除錯技巧

錯誤一:E: Unable to locate package ros-lyrical-desktop

text
E: Unable to locate package ros-lyrical-desktop

原因:最常見的原因是套件庫金鑰或來源設定沒有正確寫入,或是 apt update 忘記重新執行。

排除方式

bash
# 確認來源檔案內容存在且正確
cat /etc/apt/sources.list.d/ros2.list

# 重新更新套件索引
sudo apt update

如果 ros2.list 檔案是空的或內容錯誤,回到步驟 2 重新產生一次。

錯誤二:source 之後 ros2 指令還是找不到

text
bash: ros2: command not found

原因:確認你 source 的路徑對不對,尤其是如果你曾經手動改過發行版名稱、或系統上同時裝了多個 ROS2 版本,可能 source 到錯誤的路徑。

排除方式

bash
ls /opt/ros/
# 確認資料夾名稱,例如應該要看到 lyrical

echo $ROS_DISTRO
# source 成功後這裡應該顯示 lyrical

如果 ROS_DISTRO 是空的,代表 source 那行沒有真的被執行到,檢查 ~/.bashrc 裡有沒有打錯路徑或多餘的空白字元。

小結

ROS2 的安裝流程本身不複雜,重點在於版本對應正確、金鑰設定完整、環境變數確實載入。把這三件事確認清楚,之後每次開發都能省下大量除錯時間。下一節我們會建立第一個工作空間與套件,正式開始寫程式碼。

延伸閱讀

常見問題

faq_01.log
一定要用 Ubuntu 嗎?可以在 Windows 或 Mac 上安裝 ROS2 嗎?
ROS2 官方主要支援平台是 Ubuntu,也有 Windows 與 RHEL 的支援但社群資源較少、踩雷機率較高。Mac 沒有官方支援。如果你用 Windows,最穩定的做法是透過 WSL2 跑 Ubuntu,或直接用虛擬機。
faq_02.log
我還在用 Jazzy Jalisco,可以直接照這篇文章操作嗎?
指令幾乎一樣,差異主要在套件庫名稱裡的發行版代號要換成你的版本(例如把 lyrical 換成 jazzy),以及對應的 Ubuntu 版本(Jazzy 對應 Ubuntu 24.04)。核心安裝流程不變。
faq_03.log
安裝時可以只裝部分套件嗎?桌面版跟基礎版差在哪?
可以。`ros-lyrical-desktop` 包含 RViz2、rqt 等可視化工具;`ros-lyrical-ros-base` 只有核心通訊函式庫,沒有 GUI 工具,適合裝在沒有桌面環境的機器人本體或伺服器上。本課程範例大多需要可視化工具,建議先裝 desktop 版本。