安裝與環境設置
- ros2
- installation
- ubuntu
- environment
問題定義
裝環境聽起來是最不需要教學的一步——照著官方文件的指令複製貼上就好。但實務上,安裝階段其實是新手卡最久的地方之一:版本對不上、金鑰過期、source 忘記執行,各種問題會讓你在真正寫程式碼之前就卡關。這篇文章把完整安裝流程走一遍,並且把幾個最常見的坑都標出來。
核心概念說明
ROS2 的安裝本質上就是「加入官方的 apt 套件庫,然後用 apt install 裝套件」,跟安裝任何其他 Ubuntu 套件沒有本質差異。但有兩個地方需要特別注意:
- 發行版與 Ubuntu 版本的對應關係是綁定的,不能混搭。本課程使用的 ROS2 Lyrical Luth 對應 Ubuntu 26.04;如果你的 Ubuntu 版本不對,套件庫裡根本找不到對應的安裝檔。
- 環境變數不會自動生效,每次開新的終端機視窗,都需要重新載入 ROS2 的
setup.bash(或把它加進 shell 的啟動腳本)。
實作範例:完整安裝流程
以下步驟假設你已經有一台乾淨的 Ubuntu 26.04 環境。
1. 設定語系(locale)
ROS2 需要 UTF-8 語系支援:
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 套件庫與金鑰
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 桌面版
sudo apt update
sudo apt upgrade -y
sudo apt install ros-lyrical-desktop -y
這一步會花幾分鐘,因為桌面版包含 RViz2、rqt 等可視化工具,套件數量不小。
4. 安裝開發工具(之後章節會用到)
sudo apt install ros-dev-tools -y
這包含 colcon(編譯工具)、rosdep(依賴管理)等,第 1.3、1.4 節會實際用到。
5. 載入環境變數
source /opt/ros/lyrical/setup.bash
建議加進 ~/.bashrc,這樣每次開新終端機都會自動載入:
echo "source /opt/ros/lyrical/setup.bash" >> ~/.bashrc
source ~/.bashrc
驗證安裝:預期輸出
ros2 --version
安裝成功的話會看到:
ros2 cli version: 26.1.0
再跑一次上一節提到的健檢指令,確認整體環境沒問題:
ros2 doctor
All 5 checks passed
看到 All checks passed,代表安裝完成,可以進入下一節開始建立工作空間。
常見錯誤與除錯技巧
錯誤一:E: Unable to locate package ros-lyrical-desktop
E: Unable to locate package ros-lyrical-desktop
原因:最常見的原因是套件庫金鑰或來源設定沒有正確寫入,或是 apt update 忘記重新執行。
排除方式:
# 確認來源檔案內容存在且正確
cat /etc/apt/sources.list.d/ros2.list
# 重新更新套件索引
sudo apt update
如果 ros2.list 檔案是空的或內容錯誤,回到步驟 2 重新產生一次。
錯誤二:source 之後 ros2 指令還是找不到
bash: ros2: command not found
原因:確認你 source 的路徑對不對,尤其是如果你曾經手動改過發行版名稱、或系統上同時裝了多個 ROS2 版本,可能 source 到錯誤的路徑。
排除方式:
ls /opt/ros/
# 確認資料夾名稱,例如應該要看到 lyrical
echo $ROS_DISTRO
# source 成功後這裡應該顯示 lyrical
如果 ROS_DISTRO 是空的,代表 source 那行沒有真的被執行到,檢查 ~/.bashrc 裡有沒有打錯路徑或多餘的空白字元。
小結
ROS2 的安裝流程本身不複雜,重點在於版本對應正確、金鑰設定完整、環境變數確實載入。把這三件事確認清楚,之後每次開發都能省下大量除錯時間。下一節我們會建立第一個工作空間與套件,正式開始寫程式碼。
延伸閱讀
常見問題
- 一定要用 Ubuntu 嗎?可以在 Windows 或 Mac 上安裝 ROS2 嗎?
- ROS2 官方主要支援平台是 Ubuntu,也有 Windows 與 RHEL 的支援但社群資源較少、踩雷機率較高。Mac 沒有官方支援。如果你用 Windows,最穩定的做法是透過 WSL2 跑 Ubuntu,或直接用虛擬機。
- 我還在用 Jazzy Jalisco,可以直接照這篇文章操作嗎?
- 指令幾乎一樣,差異主要在套件庫名稱裡的發行版代號要換成你的版本(例如把 lyrical 換成 jazzy),以及對應的 Ubuntu 版本(Jazzy 對應 Ubuntu 24.04)。核心安裝流程不變。
- 安裝時可以只裝部分套件嗎?桌面版跟基礎版差在哪?
- 可以。`ros-lyrical-desktop` 包含 RViz2、rqt 等可視化工具;`ros-lyrical-ros-base` 只有核心通訊函式庫,沒有 GUI 工具,適合裝在沒有桌面環境的機器人本體或伺服器上。本課程範例大多需要可視化工具,建議先裝 desktop 版本。