Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

rosdepのオプション"rosdistro"で対象のDistroを絞って動かす

前の世代の作業環境でやってたけど、色々あって最新にしたい。
じゃぁ一個一個再インストとかでは流石に萎えますよね。
ROS公式もその辺りは把握しており、対応するオプションがあります。

実際のところ

まず最新にアップデートし、checkサブコマンドにrosdistroオプションを持たせる

$ rosdep update

試しに私の環境でやると……もとから最新なので特にエラーもなく。

$ rosdep check --from-paths . --ignore-src --rosdistro noetic
System dependencies have not been satisfied:
apt     ros-noetic-moveit-ros-move-group
apt     ros-noetic-moveit-fake-controller-manager
apt     ros-noetic-moveit-kinematics
apt     ros-noetic-moveit-planners-ompl
apt     ros-noetic-moveit-ros-visualization
apt     ros-noetic-moveit-setup-assistant
apt     ros-noetic-ros-controllers
apt     ros-noetic-ros-control
apt     ros-noetic-moveit-commander
apt     python-numpy
apt     ros-noetic-moveit-core
apt     ros-noetic-moveit-ros-planning-interface
apt     ros-noetic-moveit-ros-perception
apt     ros-noetic-moveit-visual-tools
apt     ros-noetic-geometric-shapes
apt     ros-noetic-combined-robot-hw

先ほどのコマンドで何かしら反応があった場合、以下のコマンドでインストールできる可能性がある。

$ rosdep install --from-paths . --ignore-src --rosdistro noetic -y

試しに違うDistroを選ぶと?

試しに作業環境と違うDistroを選ぶ津お、わざわざ環境変数と違うと警告してくれます。

$ rosdep check --from-paths . --ignore-src --rosdistro kinetic
WARNING: given --rosdistro kinetic but ROS_DISTRO is "noetic". Ignoring environment.
...

解説

公式の資料には以下の記述がある。

--rosdistro=ROS_DISTRO
Explicitly sets the ROS distro to use, overriding the
normal method of detecting the ROS distro using the
ROS_DISTRO environment variable. When used with the
'update' verb, only the specified distro will be
updated.